PS3 [Research] Modifying the Coldboot/Gameboot Sequence (custom_render_plugin.sprx/rco)

It looks really great :D, unfortunately i don't have a ps3 to test so i tried to make it 600x60 by respecting the streching patterns to see how it look:

indi_bg_v01-extended.png

(i like it, i hope you don't mind if i use it in some personal project)
 
Last edited:
@LuanTeles i made an icon for your PRO MOD :)
What im doing here is to match the height mentioned by @DeViL303 here
He made a screenshot at 1080p of the bar and meassured the pixels in photoshop, and it seems to be 60x600 pixels (in his default size, not expanded)
That sizes doesnt looks like a coincidence, also they matches with the strenching formula i mentioned (the limits of the streching patterns are located at the side divided by 3)... in other words... the size of the image "should" have sizes that can be divided by 3

So... the icon i made have a size of 60x60 pixels. This way my icon is not going to be streched vertically when the bar have the default size (of 60 height)
This is how it looks when overlapped with the streching patterns:
nlb6Lph.jpg



DOWNLOAD ---> https://workupload.com/start/JC6knAr9HBC


Edit:
The glass effects i tryed to archive are a bit different though... is not a simple "glass tube"... if you dont like i could change them


Looks great, i can't wait to test it out, but unfortunately i'm on vacation far from home =(
 
Looks great, i can't wait to test it out, but unfortunately i'm on vacation far from home =(
Advise me when you do, i think we can make it better ;)

In my last 4 or 5 posts in this thread i was chilling a bit, some of the things i said was from memory and just by looking at the screenshots devil303 and you was posting
But the next day i was taking a look at the xmb_plugin_normal.xml generated by rcomage and i could see better his sizes, im going to paste here the xml code reorganized, this code is valid btw (rcomage will acept it fine in this format), the only thing im doing is to replace some spaces in between attributes by a new line and tabs
Code:
<Plane name="indi_base"
	positionX="0" positionY="-74" positionZ="0"
	colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1"
	sizeX="560" sizeY="82" sizeZ="0"
	sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1"
	anchorMode="0x1200"
	onInit="nothing"
	positionOverrideX="0xc000000" positionOverrideY="0xd000500" positionOverrideZ="0x0"
	sizeOverrideX="0x700" sizeOverrideY="0x700" sizeOverrideZ="0x0"
	planeImage="image:tex_indi_bg"
	planeResizeMode="0x3">
</Plane>

The "anchorMode" could confuse us a bit, his purpose is to connect the position of some objects with others (his parents or childrens), i dont know how that values works. All i nkow is if we scale an object, his anchor point is going to move a bit, so all the objects connected with that anchor point could move together with it
Maybe this movements caused by the values used in the "anchorMode" attributes are involved in the visual effect that increases the size of the "tex_indi_bg"" icon, im not sure

My surprise was to see that is using sizeX="560" sizeY="82" as default... this is close to what devil303 said, and also what i could meassure in other screenshot i had... but is not the 600x60 we calculated (incorrectly)

The other attributes that could affect the size are the sizeOverrideX="0x700" sizeOverrideY="0x700"
That values belongs to the "factor" XMB layout tables (because are the last 2 bytes of it)
In other words... that values are used as a multiplyer in a tricky math formula that includes all this attributes:
sizeX, sizeY, sizeZ, sizeScaleX, sizeScaleY, sizeScaleZ, sizeOverrideX, sizeOverrideY, sizeOverrideZ

Or better said... is the same math formula applyed 3 times, for X, Y, Z
The 3 formulas is a bit like this (sorry i cant explain it right now and i dont remember it)
Absolute X size = (Ax*Bx) + (Cx*Dx)
Absolute Y size = (Ay*By) + (Cy*Dy)
Absolute Z size = (Az*Bz) + (Cz*Dz)

What happens here is the values sizeOverrideX="0x700" sizeOverrideY="0x700" are loading line number 8 from "layout_factor_table_1080p"... and that value is 1.000 :D
For other screen resolutions that value is smaller... but in 1080p is not doing anything, because you know... is we multiply a value * 1 results in the same value
In short... it looks for 1080p the only sizes that matters are sizeX="560" sizeY="82"
And the sprx probably is updating that values (or the overrides) in runtime to change the sizes of the image dinamically

So... instead of the 60x60 i used.... it seems it would fit better if i rebuild that icon at 82x82 pixels
You know... the goal of the experiment was to create the icon with a size that matches the "target" size to get the max quality posible

And btw, the sizes i been suggesting to use in this experiments (a perfect square of either 60x60 or 82x82) are because by now im only playing with the streching effect applyed to the height... but incase it works fine i think the same can be made with the width, this would give us full control of the image... it would be like removing the "streching" effects, so it doesnt needs to be a "bar" anymore, it could be whatever you imagine it to be (i have a couple of nice ideas) :rolleyes:
 
Last edited:
My surprise was to see that is using sizeX="560" sizeY="82" as default
I think i got it, im meassuring his size in a screenshoot whithout icons, and his size is 590x58
Im meassuring this very accuratelly, but im not getting the exact size because the original image have 1 transparent pixel all around... and the XMB is scaling it up, so that single transparent pixel probably becomes 3 or 4 transparent pixels... all around in all directions (except at the right border matching with the screen edge)

Anyway... while thinking in this it made me return back to this image made by @DeViL303
https://www.psx-place.com/threads/r...der_plugin-sprx-rco.25952/page-33#post-270149
upload_2020-12-16_11-54-29-png.29259


What seems to be happening is... when the sprx is initiated it loads the size that appears in the xml (560x82)... but the sprx have a function initiated automatically (when the sprx boots) that changes his size to the 590x58 we see most of the time

When @DeViL303 deleted the string "indi_base" in the sprx (so the sprx was not able to resize it) is when the image was displayed using the real values from the xml (in the screenshot where the time is at 11:28), this is the only image in that @DeViL303 tests that is using the sizes that can be seen in the xml
 
Last edited:
Btw, if what i said is right (prove me wrong, lol) there are 2 things that can be made

-------------
The first one is just a test, doesnt have any practical use other than having some fun
1) inside xmb_plugin.sprx... delete the string indi_base
2) inside xmb_plugin_normal.rco... replace the value sizeX="560" by sizeX="1920" in the object <Plane name="indi_base">

This should result in a superbar of the width of the whole screen (im not sure if the icons are going to be displaced to new positions as a consequence of the values in his "anchorMode" attributes)

-------------------------------
And something that could be useful for @mysis it allows to identify the offsets in the sprx where are stored all the other values used in the resizes
1) inside xmb_plugin.sprx... delete the string indi_base
2) inside xmb_plugin_normal.rco... replace indi_base.gim by a fully opaque black image of any size
3) take an screenshot and verify that my theory is right by meassuring it with a ruler in a image edition program (photoshop, gimp, etc...), this step is needed as a reference to be completly sure that the screenshot function is "capturing" all the pixels correcty, it should be exactly the same values that appears in the xml... sizeX="560" sizeY="82"

4) step back and start again... but this time inside xmb_plugin.sprx... dont delete the string indi_base
5) make appear other icons in the bar (deleting strings in the sprx) and make screenshots of them
6) all that size values taken from the screenhots should be hardcoded inside the sprx... not sure in which format but in the rco structure are data type float, and are stored in 4 bytes

The point is... by doing that you can get a great approximation to the real sizes hardcoded in the sprx.... and incase the image is scaled in both directions you should have the sizeX and sizeY located consecutivelly

If at some point you find a way how to change that sizes on runtime with a custom plugin... yeah.. that could be handy, i guess that whas one of the things you was trying to achieve @mysis
Dunno, is directly related with the text that appears at bottom, maybe it helps to find where is located that <Text> object in the sprx
 
Last edited:
Making progress on porting the first ever wave used on the PS3 XMB (0.91) to newer firmware. I rebuilt the 4.87 lines.qrc by
  • Taking all the fpo/vpo files from 0.91 and tried them one by one on 4.87, about 80% worked ok.
  • Then I took all the mnu files from 0.91 and added those.
  • Added the spline.elf from 0.91 too.
  • Added a black background
Thanks to @pink1 for making this possible.

It's getting there. It actually looks better in real life than my PVR can capture. Looks really like smoke on the XMB. My PVR capture looks a bit washed out.



There actually was a wave in 0.90 FW but it was not enabled until 0.91 afaik.
 
Last edited:
I still dream about the original game boot. The original game boot appears before the PS2 / PS1 game boot bothers me. I think it would be the main thing for me. When someone has time and can work more on it I would appreciate it. Anyway, your work is incredible!

Enviado de meu SM-J600GT usando o Tapatalk
 
It looks really great :D, unfortunately i don't have a ps3 to test so i tried to make it 600x60 by respecting the streching patterns to see how it look:

View attachment 29349
(i like it, i hope you don't mind if i use it in some personal project)

This looks really really nice, but after applying the image this is what i got @sandungas

Now i'm in love with the @MeguminFanatic preview haha, i want it to look like that on xmb.


rmFH4Yi.png


Applyed on Notifications

FdV7aHN.png



The PS3 Pro one
QuvGNmT.png
 
Last edited:
This looks really really nice, but after applying the image this is what i got @sandungas

Now i'm in love with the @MeguminFanatic preview haha, i want it to look like that on xmb.


rmFH4Yi.png


Applyed on Notifications

FdV7aHN.png



The PS3 Pro one
QuvGNmT.png
It looks pretty much the same, what you dont like, the colors ?
Try with a black wallpaper as a test (in the image viewer, open a image black.png and use the option "set as wallpaper")
 
It looks pretty much the same, what you dont like, the colors ?
Try with a black wallpaper as a test (in the image viewer, open a image black.png and use the option "set as wallpaper")

This is how it should look

indi_bg_v01-extended-png.29349


This is how it looks

t46GkGm.png


EDIT: i got it now using the 60x60 you provided, i was using 30x30 to match my old one.

cixLwXh.png


maybe we need to remove the shadows and increase the thickness of the edges
 
Last edited:
EDIT: i got it now using the 60x60 you provided, i was using 30x30 to match my old one.

cixLwXh.png


maybe we need to remove the shadows and increase the thickness of the edges
Ok, then everything is under control :)

Btw, some days after i made that image i realized the real size in the xml is: sizeX="560" sizeY="82"
So... we should make it bigger to improve the quality a bit more :)

*The dark pixels at bottom-left and top-right corners was a visual effect i was trying, but doesnt looks good, i should remove them
 
I wonder what would it take to make a rco position translator, that could take the layout files, and translate some X/Y screen coordinates into RCO ready values, that would be so handy.
 
Removing the shadows made it way better and clean.
But it lost the rounded square look in the normal state.

zcAGy3g.png
lFLFifk.png
Is because i increased the radius of the curves at the corners
The official image have a size of 24x24 and a radius of 4
The other image i made at 60x60 had a radius of 16
And the image i made at 84x84 have a radius of 26

Btw... the sizeY=82 from the official xml is not accurate, the reason why i made the last test with height=84 is because 84 is a multiplyer of 3 (84/3=28), using sizes that are a multiplyer of 3 is convenient because i have a very accurate control of the stretching pattern
But it seems the sprx is resizing it to height 87 (another multiplyer of 3)... so the next test is going to have a height of 87
It seems the sprx is resizing it to height=88, and this is not a multiplyer of 3 (i consider is an official mistake)... but i really want to use multiplyers of 3... so next text will be either height = 87 or 90 (not sure yet)

The whole indicator bar have a sizeX=592
The text messages scrolling at bottom have a sizeX=583, are aligned to the right border of the screen... and we have a problem with this, see this image, the text is outside of the indicator bar, and this is a technical problem and a restriction... it means i should remove the curves at the right corners, what do you think about removing them ?
4XYTHVg.png


Edit:
The value positionY="-74" from the official xml seems to be accurate... im meassuring it in the screenshot and i have -73 (1 pixel of difference)... i dont know why i have this innacuracy of 1 pixel, but yeah... is either -73 or -74 (meassured from the top border of the screen)


Edit:
Btw, you should reduce the intensity of the shadow of your custom clock icon... his shadow is a lot more darker than the shadows of the other stuff inside the indicator bar
 
Last edited:
I know... you dont like the big radius but... after doing a lot of calculations i realized there is only one way to achieve a perfect circle at left (when the bar is not displaying scrolling texts)
Is tricky to understand without looking at some reference images but long story short... when the bar is not displaying texts it have a height of 60. If i use an image of 90x90 the stretching pattern is going to divide the image in 9 sections of 30x30 each
The "target size" (hardcoded in the sprx) is 60 height, the top-left and bottom-left sections are not stretched... as a result the XMB is going to "hide" the sections at center-left, center-center, and center-right completly
In other words... im "sticking" together the sections at top with the sections at bottom... and this allows me to complete the circle seamless :D
Im keeping 1 transparent pixel all around (to prevent an annoying effect that uses to happen in most/all graphic libraries, the official image does this too)... so the radius is 29 pixels (30 - 1 transparent pixel)
Is the only way to achieve a circle geometrically perfect with a diameter of 58

@DeViL303 if you want to include it in your mods collection or someone wants to use as reference for other mods or whatever feel free to do it
The goals of this test are mostly:
-the proof of how to do that circle geometrically perfect
-a sample of how it looks without the curves at right for @LuanTeles
-a fix to the problem (not mentioned before) that was displaying an horizontal line all along with high color contrast
-some color adjustments to counterfeit the "distortions" that happens when the bar changes his height
-some color adjustments to modify a bit the 3D light/shadows effects of the whole bar (is a bit more "plane")
-a lot more color adjustments (not sure if are good enought, i need to see some screenshots)

@LuanTeles, if the colors are fine i will make another one for your PRO mod with whatever radius you want, by now im guessing you liked most the image where i was using a radius of 16... but if you want a different radius (some pixels bigger than 16, or smaller than 16) just tell me

DOWNLOAD ---> https://workupload.com/start/FQ4JpwPRwqL
 
Last edited:

Similar threads

Back
Top