Editing XMB Layouts

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{wikify}}  
{{wikify}}  
=Description=
=Description=
This files contains a list of values that defines the global coordinates of the <abbr title="The full lists has not been scanned and identifyed completly, but so far only was found positions and sizes">positions and sizes</abbr>  loaded by some [[RCOXML Objects]]. Are divided in 4 [http://manuals.playstation.net/document/en/ps3/current/settings/videooutput.html video resolution modes] by its heigths: ('''1080''', '''720''', '''480''', '''272'''), and its types: ('''grid''', and '''factor''')<br>
This files contains a list of numeric values that defines the positions, sizes, etc of some of the items displayed in XMB. Are divided in 4 [http://manuals.playstation.net/document/en/ps3/current/settings/videooutput.html video resolution modes] by its heigths: (272, 480, 720, 1080), and its types: (factor, and grid). Factor ones contains less values and seems to be derivated from Grid ones (grid ones are much bigger).
The values inside the '''grid''' tables contains the positions and sizes, while the '''factor''' tables contains multiplyers that are applyed to the '''grid''' values<br>
Everytime a [[RCOXML Objects|RCOXML Object]] loads a value from the '''grid''' table is also loading another value from the '''factor''' table associated with it, then is applyed a math formula to calculate the resulting positions and sizes<br>
This design is intended to reconfigure the position and sizes of all [[RCOXML Objects]] dinamically for the 4 different screen resolutions supported by [[XMB]]


{{XMB Layout Tables}}
{{XMB Layout Tables}}
Line 59: Line 56:
**Plane object '''ps3logo''' - is an image of 1200x128 pixels size. Uses grid pointers
**Plane object '''ps3logo''' - is an image of 1200x128 pixels size. Uses grid pointers


{{Boxcode|title=custom_render_plugin.rco.xml (cropped)|code=<syntaxhighlight lang="xml">
{{Boxcode|title=custom_render_plugin.rco.xml (cropped)|content=<syntaxhighlight lang="xml">
<RcoFile>
<RcoFile>
<MainTree>
<MainTree>
Line 77: Line 74:
</syntaxhighlight>}}
</syntaxhighlight>}}


{{Boxcode|title=This is the same code, using linefeeds and tabs for a better overview of the attributes|code=<syntaxhighlight lang="xml">
{{Boxcode|title=This is the same code, using linefeeds and tabs for a better overview of the attributes|content=<syntaxhighlight lang="xml">
<RcoFile>
<RcoFile>
<MainTree>
<MainTree>
Line 139: Line 136:
***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty !
***stdPositionX="0" stdPositionY="0" stdPositionZ="0" <------------------------------------------------------------------------ positions are empty !
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
***stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" <------- grid & factor pointers, overrides the values of attributes '''stdPositionX''' and '''stdPositionY'''
***stdOverridePositionX="0x98020000" stdOverridePositionY="0x99020000" stdOverridePositionZ="0x0" <------- grid pointers, overrides the values of attributes '''stdPositionX''' and '''stdPositionY'''
***stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY'''
***stdOverrideSizeX="0x9a020100" stdOverrideSizeY="0x9b020100" stdOverrideSizeZ="0x100" <------------------- grid pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY'''


*'''page_coldboot2'''
*'''page_coldboot2'''
Line 154: Line 151:
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
***stdSizeX="0" stdSizeY="0" stdSizeZ="0" <-------------------------------------------------------------------------------------- sizes are empty !
***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty !
***stdOverridePositionX="0x0" stdOverridePositionY="0x0" stdOverridePositionZ="0x0" <------------------------------ override positions are empty !
***stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" <------------------- grid & factor pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY'''
***stdOverrideSizeX="0x9c020100" stdOverrideSizeY="0x9d020100" stdOverrideSizeZ="0x100" <------------------- grid pointers, overrides the values of attributes '''stdSizeX''' and '''stdSizeY'''


----
----
Before calculating the grid pointers is needed to convert the values manually to the correct format. Every one of the attributes used for grid pointers is composed by 2 values, the first one is the grid pointer (first 2 bytes), and the second is the factor pointer (last 2 bytes). Is needed to cut the attribute at half and swap the bytes
Before calculating the grid pointers is needed to convert the values manually to the correct format. Every one of the attributes used for grid pointers is composed by 2 values, the first one is the grid pointer itself (first 2 bytes), and the second one is unknown (last 2 bytes). Is needed to cut the attribute at half and swap the bytes


*'''scelogo''' grid pointers
*'''scelogo''' grid pointers
**position
**position
***stdOverridePositionX="0x98020000" <----------- this is 0x0'''298''' (grid pointer) and 0x0000 (factor pointer to line 1)
***stdOverridePositionX="0x98020000" <----------- this is 0x0'''298''' (grid pointer) and 0x0000 (unknown)
***stdOverridePositionY="0x99020000" <----------- this is 0x0'''299''' (grid pointer) and 0x0000 (factor pointer to line 1)
***stdOverridePositionY="0x99020000" <----------- this is 0x0'''299''' (grid pointer) and 0x0000 (unknown)
***stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (grid pointer to line 1) and 0x0000 (factor pointer to line 1)
***stdOverridePositionZ="0x0" <---------------------- this is 0x0000 (not a grid pointer) and 0x0000 (unknown)
**size
**size
***stdOverrideSizeX="0x9a020100" <----------- this is 0x0'''29a''' (grid pointer) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeX="0x9a020100" <----------- this is 0x0'''29a''' (grid pointer) and 0x000'''1''' (unknown)
***stdOverrideSizeY="0x9b020100" <----------- this is 0x0'''29b''' (grid pointer) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeY="0x9b020100" <----------- this is 0x0'''29b''' (grid pointer) and 0x000'''1''' (unknown)
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (not a grid pointer) and 0x000'''1''' (unknown)


*'''ps3logo''' grid pointers
*'''ps3logo''' grid pointers
**size
**size
***stdOverrideSizeX="0x9c020100" <----------- this is 0x0'''29c''' (grid pointer) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeX="0x9c020100" <----------- this is 0x0'''29c''' (grid pointer) and 0x000'''1''' (unknown)
***stdOverrideSizeY="0x9d020100" <----------- this is 0x0'''29d''' (grid pointer) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeY="0x9d020100" <----------- this is 0x0'''29d''' (grid pointer) and 0x000'''1''' (unknown)
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (grid pointer to line 1) and 0x000'''1''' (factor pointer to line 2)
***stdOverrideSizeZ="0x100" <------------------- this is 0x0000 (not a grid pointer) and 0x000'''1''' (unknown)


----
----
Now to get the correct value from the grid pointers is needed to look at the [[XMB Layouts]] files '''from the same firmware !!!'''
Now to get the correct value from the grid pointers is needed to look at the [[XMB Layouts]] files '''from the same firmware !!!'''


The pointer values needs to be converted to decimal, and added a +1 (in other words... value 0 represents the first line of the .txt file)
The grid pointer value needs to be converted to decimal, and added a +1 (because the first value posible is 0, must match with the first line in a .txt file that is 1)


*'''scelogo''' grid pointers
*'''scelogo''' grid pointers
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)