PS3 [Attempt] Restoring XMB UI of Firmware 1.00 - 2.70 to 4.84+

Status
Not open for further replies.
Btw @Danxx444 you uploaded a system_plugin.rco and you said it was from 2.51 but in wiki it looks like the only 2.51 firmware it was specific for kiosk/shop PS3 models
https://www.psdevwiki.com/ps3/System_Firmware
Thi is where you took the rco file, from a 2.51 kiosk firmware ?... and if this is right, why you choosed that version ?... is because it was the last version before they disabled this animation of the waterdrop ?

Do you know which firmware version is the last with this waterdrop animation ? (i guess it needs to be the version inmediatly before they implemented the new clock)
hmm ... i didn't know that the 2.51 firmware i own is from kiosk / shop version ... i extract this firmware from Resident Evil 5, i had no idea that it was from this version ... well .. why i I chose the rco from this version was because I realized that they made a change in the tex_busy image, so I decided to post it here for you to analyze it .. the last Firmware in which this animation appears is at 2.80 if I'm not mistaken.
 
Ü

the clock in the top corner of the screen.
Ok, well the reason I ask is the 2 RCOs that sandungas posted has the "now playing" activity animation changed to the water drop?

That is the animation i recorded in my video.
 
There is another trick, if you load some offlline JS from an xml, it will load the page fine, but the clock will spin forever.

BTW are we meant to be changing the clock activity animation or the activity animation that shows when tracks are playing or files are downloading, or both?

ATTACH]
Ok, well the reason I ask is the 2 RCOs that sandungas posted has the "now playing" activity animation changed to the water drop?

That is the animation i recorded in my video.

They was talking about how to restore the "waterdrop" animation, i knew restoring it into the clock position is something very hard to achieve... right now is imposible unless someone finds a way
So... as an alternative i mentioned them that the "text_playing" animation used when you play music (and i guess other stuffs) works exactly in the same way... and as an alternative they could use the "waterdrop" animation for the "text_playing"
Not sure if they understood me right, but they liked it, so i made some frankenstein experiments with it
Later someone mentioned that the "tex_playing" animation already existed in old firmwares (so this idea of replacing it breaks a bit the official look)
All and all... im not sure if is worthy... but the ride was good, i understand them a lot better and i did learn how to create his shadows to control the amount of dark pixels :)

In this image can be seen, the "text_playing" at bottom works in the same way than the others... all them have 30 frames, and plays at a speed of 30fps
The firmware knows that the image is "splitted" in frames, and it "crops" the frames on real time and displays them like a video
Is interesting, it sucks because we dont have any control to create them though
from top to bottom:
tex_busy217
tex_busy251
tex_playing484
eTjJ04u.jpg
 
@sandungas ... You had mentioned that this "waterdrop" animation is commanded by the sprx plugin right? ... but you know what ... I searched the PS3 modules and didn't find the system_plugin.sprx module, responsible for system_plugin.rco ... i might be bluffing..but all rco's have their plugin ... but the system_plugin.sprx i didn't find.
 
@sandungas ... here it is ... extracted from Firmware 2.80
No luck :/
The rco was updated, but the tex_busy.gim and tex_busy_shadow.gim are exactly the same files from 2.51
I dont need to check them because his hash matches exactly, take a look at the list i made, i added them
Code:
-system_plugin217.rco        MD5:8C320A8899E386C6743EFDD5C8EA2A71
-tex_busy217.gim             MD5:AC292D7AF3BA478A87400AC40FDA7574 (29x750 pixels -ps3rgba8888)
-tex_busy_shadow217.gim      MD5:862F858E85BEA609FF8E9C78EE73101A (32x960 pixels -ps3rgba8888)


-system_plugin251.rco        MD5:DDA512B03746913572121F8C5757B561
-tex_busy251.gim             MD5:AC24824CF4BD2DB82AE2FE512802968A (32x960 pixels -ps3dxt5)
-tex_busy_shadow251.gim      MD5:3D45ED809E9A81774D3CF5B3481105ED (32x960 pixels -ps3dxt5)


-system_plugin280.rco        MD5:24E254A27FDEDB49D82E4FE30E2A0872
-tex_busy280.gim             MD5:AC24824CF4BD2DB82AE2FE512802968A (32x960 pixels -ps3dxt5)
-tex_busy_shadow280.gim      MD5:3D45ED809E9A81774D3CF5B3481105ED (32x960 pixels -ps3dxt5)






-explore_plugin_full484.rco  MD5:DB47D79296CEEDE41AF7E43D27E81F92
-tex_playing484.gim          MD5:85DEB25B347E39BAA66FD9A940F7C625 (30x900 pixels -ps3rgba888)
-tex_playing_shadow484.gim   MD5:04FDF3DC5D06D36F2643210A8E8C5019 (30x900 pixels -ps3rgba888)

...Firmware 2.80 ... this was the last update this animation appeared on.
Yes, 2.80 is the last, i just realized it was mentioned in the official changelog
https://www.psdevwiki.com/ps3/3.00_CEX
System changes
-The swirling activity indicator has been replaced with an analog clock (hands rotate quickly to show activity).

The point is by now we have only 2 versions of that images, and the new versions looks too bad
The older versions looks better (but are smaller)

@sandungas ... You had mentioned that this "waterdrop" animation is commanded by the sprx plugin right? ... but you know what ... I searched the PS3 modules and didn't find the system_plugin.sprx module, responsible for system_plugin.rco ... i might be bluffing..but all rco's have their plugin ... but the system_plugin.sprx i didn't find.
Yep, sometimes happens, the .rco name doesnt matches with the associated .sprx name
It can be seen in the column at right on this table
https://www.psdevwiki.com/ps3/Template:RCOXML_contents_PS3
 
Last edited:
No luck :/
The rco was updated, but the tex_busy.gim and tex_busy_shadow.gim are exactly the same files from 2.51
I dont need to check them because his hash matches exactly, take a look at the list i made, i added them
Code:
-system_plugin217.rco        MD5:8C320A8899E386C6743EFDD5C8EA2A71
-tex_busy217.gim             MD5:AC292D7AF3BA478A87400AC40FDA7574 (29x750 pixels -ps3rgba8888)
-tex_busy_shadow217.gim      MD5:862F858E85BEA609FF8E9C78EE73101A (32x960 pixels -ps3rgba8888)


-system_plugin251.rco        MD5:DDA512B03746913572121F8C5757B561
-tex_busy251.gim             MD5:AC24824CF4BD2DB82AE2FE512802968A (32x960 pixels -ps3dxt5)
-tex_busy_shadow251.gim      MD5:3D45ED809E9A81774D3CF5B3481105ED (32x960 pixels -ps3dxt5)


-system_plugin280.rco        MD5:24E254A27FDEDB49D82E4FE30E2A0872
-tex_busy280.gim             MD5:AC24824CF4BD2DB82AE2FE512802968A (32x960 pixels -ps3dxt5)
-tex_busy_shadow280.gim      MD5:3D45ED809E9A81774D3CF5B3481105ED (32x960 pixels -ps3dxt5)






-explore_plugin_full484.rco  MD5:DB47D79296CEEDE41AF7E43D27E81F92
-tex_playing484.gim          MD5:85DEB25B347E39BAA66FD9A940F7C625 (30x900 pixels -ps3rgba888)
-tex_playing_shadow484.gim   MD5:04FDF3DC5D06D36F2643210A8E8C5019 (30x900 pixels -ps3rgba888)


Yes, 2.80 is the last, i just realized it was mentioned in the official changelog
https://www.psdevwiki.com/ps3/3.00_CEX


The point is by now we have only 2 versions of that images, and the new versions looks too bad
The older versions looks better (but are smaller)


Yep, sometimes happens, the .rco name doesnt matches with the associated .sprx name
It can be seen in the column at right on this table
https://www.psdevwiki.com/ps3/Template:RCOXML_contents_PS3
oh ... I see ... well then there is no way ... but I'm still curious to know what is the image responsible for that animation we have in the current clock ... or maybe ... from what I read .. .the plugin sprx works harder on the larger pointer and the short pointer..which would give you to understand that the other animation that appears when the clock is spinning ... is controlled only by the rco xml and not the plugin .... because In the tree of object animation, Sony didn't make much of a change ... maybe I'm wrong.:rolleyes::uncomfortableness:
 
0: 2 Parameter: char * , int flags - dev_hdd0/theme related, loads theme?
1: 2 Parameter: float, int
2: 1 Parameter: out: void * float[4]
3: 1 Parameter: in: void * float[4]
4: 1 Parameter: uint8_t [0x100?]- collects Progress Base/bar textures (tex_default_progress_base, tex_default_progress_base_shadow, and tex_default_progress_slider?)
5: 1 Parameter: uint8_t [0x148] - collects sounds (snd_decide, snd_cancel, snd_cursor and snd_category_decide)
6:
7: 2 Parameter: uint8 , float - page_default_theme / page_wallpaper_theme
8: 2 Parameter: uint8 , float (500.00) - page_default_theme / page_wallpaper_theme
9: 2 Parameter: float, float - wallpaper_theme_plane
10: 2 Parameter: int (1), float (100.0)
11: 5 Parameter: int * tex_dialog (ex. infoicon), int* tex_dialog_shadow (infoicon_shadow) , wchar * infotext1, char * infotext2, int type - create page_infobar /infoicon /infotext1/infotext2
12: 1 Parameter: uint8 ( 0 = _vshcommon_8D173737, else -> PageClose )- page_infobar
13: 0 Parameter: return uint8 (infobar activated (1)/closed (0)?)
14: Set, 1 Parameter: uint8_t [ ] - infoicon
15: Set, 1 Parameter: uint8_t [0x1C] {wchar * } - infotext1
16: Set, 1 Parameter: uint8_t [0x1C] {wchar * } - infotext2
17: 0 Parameter: - busy_increase (clock hands "long" and "short" textures rotates in clockwise direction)
18: 0 Parameter: - busy_decrease (clock hands "long" and "short" textures rotates in counterclockwise direction)
19: 1 Parameter: uint8_t 0=False/1=True - show page_busy
20: 1 Parameter: uint8_t - busy_long / busy_short
21: 1 Parameter: uint8_t - anim_cross_circle_show_hide
22: 1 Parameter: uint8_t - anim_cross_circle_show_hide
23: 1 Parameter: uint8_t - anim_triangle_show_hide
24: 1 Parameter: uint8_t - anim_rectangle_show_hide
25: 2 Parameter: uint8_t [0x1C], wchar * - cross_text
26: 2 Parameter: uint8_t [0x1C], wchar * - circle_text
27: 2 Parameter: uint8_t [0x1C], wchar * - triangle_text
28: 2 Parameter: uint8_t [0x1C], wchar * - rectangle_text
29: 8 Parameter: float, int, char *, int, int *, int *, char *, char * - notification
30: 1 Parameter: char * (Example: "msg_press_ps_button")
31: 1 Parameter: char * bmp_path ("%s/screen%03d.bmp") - "saveBMP", takes a XMB screendump (make sure you set a dynamic theme, else console freezes after dump)
32: 0 Parameter: - Set up page_notification
33: 0 Parameter: - Dummy XMB start ( DEX )
34: 0 Parameter: - Dummy XMB stop ( DEX )
35: 0 Parameter: - Dummy XMB start/stop ( DEX )
 
@Danxx444 can you tell me the values of:
Lines 563, 564, 565, 566, 567, 568, 569, 570 of dev_flash/vsh/etc/layout_grid_table_1080.txt from firmware 2.51 ?
And...
Lines 476, 477, 478, 479, 480, 481, 482, 483 of dev_flash/vsh/etc/layout_grid_table_1080.txt from firmware 2.17 ?

Are the positions and sizes of the <Plane> objects: busy_icon & busy_icon_shadow
In other words, the positions and sizes of the images: tex_busy.gim & tex_busy_shadow.gim

The positions for 1080p resolution should be X=830, Y=436 (the same ones used by the new clock of firmware 4.84)
But the sizes are different because they changed the size of the GIM files several times... also im wondering if they stores the size of the whole image or only the size of 1 frame (my bet... is the size of 1 frame)
 
Last edited:
Btw, in 4.84 there is a new object in the childrens of <Page name="page_busy">
Im not sure if it was added in firmware 3.00 (probably, but not neccesary)
This is the new animation played at the back of the clock, the one that looks like the clock sphere is "expanding" in a loop
Code:
<Plane name="busy_icon_anim1" positionX="0" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x90020000" positionOverrideY="0x91020000" positionOverrideZ="0x0" sizeOverrideX="0x92020000" sizeOverrideY="0x93020000" sizeOverrideZ="0x0" planeImage="image:tex_busy" planeResizeMode="0x0"></Plane>

Doesnt have anything special in the xml code that could connect it with an animation... other than his name "busy_icon_anim1", this is the only reason why we are sure the animation is made with this <Plane> object

And is loading planeImage="image:tex_busy"... (in other words, is loading tex_busy.gim), this is the same image loaded by <Plane name="busy_icon">... is the circle of the clock

<Plane name="busy_icon"> displays tex_busy.gim static
<Plane name="busy_icon_anim1"> displays tex_busy.gim + increases his size in a loop

That size increasing of tex_busy.gim is made by the .sprx by changing the value of sizeOverrideX/Y (or only sizeOverrideZ) on real time... but we dont have control about that in the rco

Also, as i mentioned some post before, this animation in modern firmwares that increases the clock circle size is very different than the "warterdrop" animation using a single image composed by frames
 
Last edited:
I just imagined a way to display the waterdrop animation at the clock position in modern firmwares, but long story short, i think there is a huge problem with this idea, because i think is not going to stop looping

Im going to mention it because i think @LuanTeles used something like this before or if @DeViL303 or others wants to discuss it

Previous
Crop the tex_busy.png from an old firmware (the one with the waterdrop composed by 30 frames), create 30 png files with it, resize the png files to 36x36 pixels (because this is the size of the tex_busy of modern firmwares)
Convert this 30 PNG files to GIM using the profile -ps3rgba8888

Indexing in system_plugin.rco
Add the 30 <Image> files under <imageTree>

Add 30 <Plane> objects under <Plane name="busy_icon_anim1">, and use the same values positionOverrideX, positionOverrideY, sizeOverrideX, sizeOverrideY copyed from <Plane name="busy_icon"> (this way our custom images are perfectly aligned with the official clock)

The magic
Replace onInit="nothing" by onInit="anim:magic" in <Plane name="busy_icon_anim1">

Replace planeImage="image:tex_busy" by planeImage="nothing" in <Plane name="busy_icon_anim1"> (because we dont want the official animation to display the official clock circle)

The custom anim
Here the first thing needed to to is to hide the official images of the clock, the objects are named: busy_icon, busy_icon_shadow, busy_short, busy_long

Then is needed to make a sequence of 30 frames with the <Fade> or <Recolor> to change the transparency of the 30 frames, and setted to play at 30 frames per second

And at the end... a <FireEvent> to create the infinite loop


---------------------
The problem is i think the animation is not going to stop !
When the <Plane name="busy_icon_anim1"> is loaded (probably when the PS3 boots) is going to trigger the infinite animation and i will keep looping until you reboot or reload the XMB
 
Last edited:
I just imagined a way to display the waterdrop animation at the clock position in modern firmwares, but long story short, i think there is a huge problem with this idea, because i think is not going to stop looping

Im going to mention it because i think @LuanTeles used something like this before or if @DeViL303 or others wants to discuss it

Previous
Crop the tex_busy.png from an old firmware (the one with the waterdrop composed by 30 frames), create 30 png files with it, resize the png files to 36x36 pixels (because this is the size of the tex_busy of modern firmwares)
Convert this 30 PNG files to GIM using the profile -ps3rgba8888

Indexing in system_plugin.rco
Add the 30 <Image> files under <imageTree>

Add 30 <Plane> objects under <Plane name="busy_icon_anim1">, and use the same values positionOverrideX, positionOverrideY, sizeOverrideX, sizeOverrideY copyed from <Plane name="busy_icon"> (this way our custom images are perfectly aligned with the official clock)

The magic
Replace onInit="nothing" by onInit="anim:magic" in <Plane name="busy_icon_anim1">

Replace planeImage="image:tex_busy" by planeImage="nothing" in <Plane name="busy_icon_anim1"> (because we dont want the official animation to display the official clock circle)

The custom anim
Here the first thing needed to to is to hide the official images of the clock, the objects are named: busy_icon, busy_icon_shadow, busy_short, busy_long

Then is needed to make a sequence of 30 frames with the <Fade> or <Recolor> to change the transparency of the 30 frames, and setted to play at 30 frames per second

And at the end... a <FireEvent> to create the infinite loop


---------------------
The problem is i think the animation is not going to stop !
When the <Plane name="busy_icon_anim1"> is loaded (probably when the PS3 boots) is going to trigger the infinite animation and i will keep looping until you reboot or reload the XMB


One way to stop the Infinity loop is what i did in my settings menu

I set the Petals animation (only one animation using all of them, because of the rco size limite, before i used multiple that works better and dont need this method) in the OnInit of the sidemenu , but it will be in a loop forever, so i set another OnInit in the Item list of the settings nullyfing the animations of the petals one. (So basically the anim that nullifies the petals anim is always running, so when it is needed and called the anim will work, but after not needing it, it will be nullyfied)

Sorry that i can't explain it better, but its 4:30 A.M here and kinda Sleep
 
Last edited:
@Danxx444 can you tell me the values of:
Lines 563, 564, 565, 566, 567, 568, 569, 570 of dev_flash/vsh/etc/layout_grid_table_1080.txt from firmware 2.51 ?
And...
Lines 476, 477, 478, 479, 480, 481, 482, 483 of dev_flash/vsh/etc/layout_grid_table_1080.txt from firmware 2.17 ?

Are the positions and sizes of the <Plane> objects: busy_icon & busy_icon_shadow
In other words, the positions and sizes of the images: tex_busy.gim & tex_busy_shadow.gim

The positions for 1080p resolution should be X=830, Y=436 (the same ones used by the new clock of firmware 4.84)
But the sizes are different because they changed the size of the GIM files several times... also im wondering if they stores the size of the whole image or only the size of 1 frame (my bet... is the size of 1 frame)
Alright..I will leave the files available here.
 
I just imagined a way to display the waterdrop animation at the clock position in modern firmwares, but long story short, i think there is a huge problem with this idea, because i think is not going to stop looping

Im going to mention it because i think @LuanTeles used something like this before or if @DeViL303 or others wants to discuss it

Previous
Crop the tex_busy.png from an old firmware (the one with the waterdrop composed by 30 frames), create 30 png files with it, resize the png files to 36x36 pixels (because this is the size of the tex_busy of modern firmwares)
Convert this 30 PNG files to GIM using the profile -ps3rgba8888

Indexing in system_plugin.rco
Add the 30 <Image> files under <imageTree>

Add 30 <Plane> objects under <Plane name="busy_icon_anim1">, and use the same values positionOverrideX, positionOverrideY, sizeOverrideX, sizeOverrideY copyed from <Plane name="busy_icon"> (this way our custom images are perfectly aligned with the official clock)

The magic
Replace onInit="nothing" by onInit="anim:magic" in <Plane name="busy_icon_anim1">

Replace planeImage="image:tex_busy" by planeImage="nothing" in <Plane name="busy_icon_anim1"> (because we dont want the official animation to display the official clock circle)

The custom anim
Here the first thing needed to to is to hide the official images of the clock, the objects are named: busy_icon, busy_icon_shadow, busy_short, busy_long

Then is needed to make a sequence of 30 frames with the <Fade> or <Recolor> to change the transparency of the 30 frames, and setted to play at 30 frames per second

And at the end... a <FireEvent> to create the infinite loop


---------------------
The problem is i think the animation is not going to stop !
When the <Plane name="busy_icon_anim1"> is loaded (probably when the PS3 boots) is going to trigger the infinite animation and i will keep looping until you reboot or reload the XMB
Jeez ... what a mission
 
Status
Not open for further replies.
Back
Top