Anyone Can Help with XML edits?

There was one more thing missing though... but i just found it (im in a combo strike)
The theory is... if what i said is right, so the positionOverride's are completly replacing the position's values
Then why in this sample there are some values of position = 1 ? o_O
Thats the part that was partially right...
The values of position's (originally intended for PSP) and positionOverride's (specific for PS3) are related, and usually the positions are = 0
Incase the positions are = 0 the only values that matters are the overrides

But when both values exists the position works as a multiplyer ! of the overrides. See this example:
I dont know where appears this screen though, but are 5 lines of text centered, is pretty much the same that the image of the previous post but with 5 text lines
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.2 -->
<RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="ps3" minFirmwareVer="unknownId0x130">
	<MainTree name="impose_plugin">
		<ObjectTree>
			<Page name="impose_page">
				<Plane name="impose_menu_plane_0">
					<Text name="impose_menu_item_0" anchorMode="0x100" textMessage="text:msg_game_quit"
						positionX="0"
						positionY="1.5"
						positionOverrideX="0x4000000" <!-- (grid5)0, 0 -->
						positionOverrideY="0x5006800" <!-- (grid6)0, (factor105)40 -->
					></Text>
					<Text name="impose_menu_item_1" anchorMode="0x100" textMessage="text:msg_controller_setting"
						positionX="0"
						positionY="0.5"
						positionOverrideX="0x4000000" <!-- (grid5)0, 0 -->
						positionOverrideY="0x5006800" <!-- (grid6)0, (factor105)40 -->
					></Text>
					<Text name="impose_menu_item_2" anchorMode="0x100" textMessage="text:msg_power_off_controller"
						positionX="0"
						positionY="-0.5"
						positionOverrideX="0x4000000" <!-- (grid5)0, 0 -->
						positionOverrideY="0x5006800" <!-- (grid6)0, (factor105)40 -->
					></Text>
					<Text name="impose_menu_item_3" anchorMode="0x100" textMessage="text:msg_power_off_console"
						positionX="0"
						positionY="-1.5"
						positionOverrideX="0x4000000" <!-- (grid5)0, 0 -->
						positionOverrideY="0x5006800" <!-- (grid6)0, (factor105)40 -->
					></Text>
					<Text name="impose_menu_item_4" anchorMode="0x100" textMessage="nothing"
						positionX="0"
						positionY="-2.5"
						positionOverrideX="0x4000000" <!-- (grid5)0, 0 -->
						positionOverrideY="0x5006800" <!-- (grid6)0, (factor105)40 -->
					></Text>
				</Plane>
			</Page>
		</ObjectTree>
	</MainTree>
</RcoFile>
The absolute position X of all the texts is = 0
And the value of positionOverrideY in all them is = 40

So in this example the value responsible of the absolute Y are the positionY... but not alone
Is needed to multiply positionY * positionOverrideY

So...
"msg_game_quit" is located at absolute Y position 1.5 * 40 = 60
"msg_controller_setting" is located at absolute Y position 0.5 * 40 = 20
"msg_power_off_controller" is located at absolute Y position -0.5 * 40 = -20
"msg_power_off_console" is located at absolute Y position -1.5 * 40 = -60
"nothing" is located at absolute Y position -2.5 * 40 = -100
779507368_860479.gif
 
Last edited:
What i said before was partially right, the overrides are composed by 2 values, the first value is a line of the layout_grid_table_*.txt file/s and the second value is a line of the layout_factor_table*.txt file/s
This is a cool discovery, Im trying to understand it, but I don't get how you are getting line numbers for the text files from eg. 0xc90d7200 ?
 
This is a cool discovery, Im trying to understand it, but I don't get how you are getting line numbers for the text files from eg. 0xc90d7200 ?
1) split the value at half
2) change endianess (in other words, flip the bytes)
3) convert to decimal
4) add + 1

The result indicates two line numbers in the "layout" .txt files. With the value 0xc90d7200 is like this:

1) 0xc90d 0x7200 (splitted at half)
2) 0x0dc9 0x0072 (bytes flipped)
3) 3529 114 (converted to decimal)
4) 3530 115 (added +1)

After that you need to open the "layout" .txt files in notepad++ (or any other text editor that shows to you the line numbers)... and take a look at the value stored at that lines

The first value (3530 in this example) is a line of the "grid" layouts, and the second value (115 in this example) is a line of the "factor" layouts, and every screen resolution have his layouts
I use to make all this calculations for 1920x1080 resolution so i need to look at the files:
In line 3530 of "layout_grid_table_1080.txt" is stored the value -835
In line 115 of "layout_factor_table_1080.txt" is stored the value +16

In resume... the attribute:
positionOverrideX="0xc90d7200"
Is loading this values from the "layout_*_1080.txt" files:
positionOverrideX="-835, +16"

*For other screen resolutions the values stored inside the .txt layouts is different (usually smaller, because the other screens are smaller)
 
Last edited:
1) split the value at half
2) change endianess (in other words, flip the bytes)
3) convert to decimal
4) add + 1
Wow, cool, now I get it. Nice, I'm going to be moving stuff all over the place now :)

The result indicates two line numbers in the "layout" .txt files. With the value 0xc90d7200 is like this:

1) 0xc90d 0x7200 (splitted at half)
2) 0x0dc9 0x0072 (bytes flipped)
3) 3529 114 (converted to decimal)
4) 3530 115 (added +1)

(4) I don't understand why they couldn't just add the extra +1 to the first numbers initially, why add a 1 after when its hardcoded.. but anyway now we know I don't care.

"nothing" is located at absolute Y position -2.5 * 40 = -100
btw, I had noticed this, it looks like they removed an item from main quit menu here, there is no other item, but the rest are there. Maybe a hidden item, or debug option removed or something
 
Last edited:
(4) I don't understand why they couldn't just add the extra +1 to the first numbers initially, why add a 1 after when its hardcoded.. but anyway now we know I don't care.
It's a zero based index of an array. The .txt is read into an array and these is no need for +1. A value of 0 would be lines[0], the first line from all the lines.
+1 is for us, the humans to find the line, since we do not work with zero based index lines.
 
It's a zero based index of an array. The .txt is read into an array and these is no need for +1. A value of 0 would be lines[0], the first line from all the lines.
+1 is for us, the humans to find the line, since we do not work with zero based index lines.
Now it all makes sense, thank you.

This is great, a lot of new stuff just became moddable :D
 
It's a zero based index of an array. The .txt is read into an array and these is no need for +1. A value of 0 would be lines[0], the first line from all the lines.
+1 is for us, the humans to find the line, since we do not work with zero based index lines.
Right, is zero based, is just an small detail, but sometimes is tricky to get the concept, and there are some consequences that initially could be confusing
The most intuitive way to think in this is... the line number shown by notepadd++ is wrong... to get into the "scale" used in the PS3 we need to substract -1 to the line number shown by notepadd++

The confusing consequence of this is... when we see something like overridePositionX="0x00000000" (or 0x0 because rcomage removes the preceding zeroes) it means the rco is loading the first 2 values from "grid" and "layout" tables
The first line of the "grid" layout always stores the value 0
The first line of "factor" layout aways stores the value 1

I also bet all the values of the .txt file are loaded as an array in RAM when the PS3 boots :)
And when you change resolution in XMB settings the array is emptyed and filled with the new values for the other resolution

Also, this seems to be the reason why we cant add custom values to the layout .txt files (additional lines). Because the size of an array usually is defined before the array is filled with values, so the array size is static

For some time i was thinking the array size was defined at PS3 boot time dinamically by the firmware just by counting how many lines exists in the .txt file... but doesnt seems to be like that :/
Is defined somewhere else (unknown, but most probably vsh.self)

btw, I had noticed this, it looks like they removed an item from main quit menu here, there is no other item, but the rest are there. Maybe a hidden item, or debug option removed or something
Yes, i was about to remove it from the example because could be confusing, but i prefered to keep it :)
I dont know what is it, but doesnt displays anything (is invisibe), initially looks like garbage, but im not sure, maybe the .sprx is adding something to it dinamically
 
Last edited:
1) split the value at half
2) change endianess (in other words, flip the bytes)
3) convert to decimal
4) add + 1

The result indicates two line numbers in the "layout" .txt files. With the value 0xc90d7200 is like this:

1) 0xc90d 0x7200 (splitted at half)
2) 0x0dc9 0x0072 (bytes flipped)
3) 3529 114 (converted to decimal)
4) 3530 115 (added +1)
I wonder what do we do when there are only 7 digits.. like "positionOverrideX="0x4000100" positionOverrideY="0x5000100"
 
I wonder what do we do when there are only 7 digits.. like "positionOverrideX="0x4000100" positionOverrideY="0x5000100"
rcomage treats it as a single value (this is a "bug", or a missing feature), and removes all the preceding zeroes (located most at left), so you need to add zeroes at left until you get 8 digits

I posted some examples at post #23
0x34120100 = 0x1234 (group1) and 0x1 (group 2)
0x23010000 = 0x123 (group1) and 0x0 (group 2)
0x12000100 = 0x12 (group1) and 0x1 (group 2)
0x120000 = 0x1200 (group1) and 0x0 (group 2)
0x10100 = 0x1000 (group1) and 0x1 (group 2)
 
Last edited:
What scales do you used?

i'm colored mine as well

for X i'm using colorScaleG="0.25" colorScaleB="0.75"

and O colorScaleR="0.7" colorScaleB="0.3"

or you just recolored the images?
 
I'm thinking in a new clock

But cant find a good one

Did u see the new status bar ? what do u thinkw
 
imo, rule of thumb, if the icon is white along with transparency, just use the xml to color them. otherwise, the system will put that color on top of the colored icon. I did this with the component cable icon, and it looks really weird.
 
What scales do you used?

i'm colored mine as well

for X i'm using colorScaleG="0.25" colorScaleB="0.75"

and O colorScaleR="0.7" colorScaleB="0.3"

or you just recolored the images?
I download controller button image from internet and remove the black surrounding color then copy the cross and circle maybe the white threads are visible because i didn't change the color scale and image that i create are bigger than the one that was there

I'm thinking in a new clock

But cant find a good one

Did u see the new status bar ? what do u thinkw
In which place exactly the status bar?

@Louay you are a hen user right?

after can u test my version for HEN?
I have slim 2004 console jailbreak but i create dualboot firmware with silk_webkit.sprx of 4.82 to be able to use all the exploit tools and to be able to go back eaisly whenever i want to CFW with just CFW PUP avoiding rejailbreak ,reflash,redump...etc

Did you release a standlone version for only HEN ?
 
Last edited:
@sandungas @pinky can you tell how do i remove the moving thread behind the icons in impose rco animation ???
You mean that 2 thin lines in diagonal, like the scratch of a lion ?
Seems to be made by a cummulation of single pixels, and that pixels have the same color than the main image.... so i guess are part of the image

Check the originals in photoshop at 1600% zoom to see if it have some "garbage" pixel in the surroundings
 
I download controller button image from internet and remove the black surrounding color then copy the cross and circle maybe the white threads are visible because i didn't change the color scale and image that i create are bigger than the one that was there

Use the ones already inside the rco or just recolor than using the xml scaleColors, also they doesn't have this garbage lines behind it

note that values = 1 = 100%
 
Last edited:
the black you're talking about could be the shading. I messed with shading on those label icons, and it caused a soft brick.

edit: most icons can take shading, but those apparently can't.
 
You mean that 2 thin lines in diagonal, like the scratch of a lion ?
Seems to be made by a cummulation of single pixels, and that pixels have the same color than the main image.... so i guess are part of the image

Check the originals in photoshop at 1600% zoom to see if it have some "garbage" pixel in the surroundings
Yes when i resize the the downloaded image or i scale them and zoom there is box with small opacity that surround the image

upload_2019-8-6_2-37-0.png


Use the ones already inside the rco or just recolor than using the xml scaleColors, also they doesn't have this garbage lines behind it

note that values = 1 = 100%
I will test this with original 2 originale images and use the scaleColors param



the black you're talking about could be the shading. I messed with shading on those label icons, and it caused a soft brick.

edit: most icons can take shading, but those apparently can't.
No i know shading, the black surrounding i talk about is the black color of ps3 controller button background like in Triangle Square Cross and Circle

upload_2019-8-6_2-40-14.png
 
Last edited:

Similar threads

Back
Top