|
|
Line 20: |
Line 20: |
|
| |
|
| {{RCOXML_standard_object_attributes}} | | {{RCOXML_standard_object_attributes}} |
|
| |
| ==Grid references example==
| |
| For more detailed info see the changelog of [[Talk:Custom_render_plugin]].rco and [[XMB Layouts]]
| |
|
| |
| *In firmware 4.76 custom_render_plugin.rco contains 3 '''plane objects''' using the standard attributed definitions:
| |
| **Page object '''page_coldboot''' - is the old/classic coldboot from firmware 1.00 used when the console boots
| |
| ***Plane object '''scelogo''' - is an image of 512x32 pixels size. Uses grid references
| |
| **Page object '''page_coldboot2''' - is the new coldboot introduced in firmware 2.70
| |
| ***Plane object '''coldboot_ps3logo''' - is a placeholder for the [[coldboot.raf]] animation. Doesnt uses grid references
| |
| **Page object '''page_gameboot''' - used when a game boots
| |
| ***Plane object '''ps3logo''' - is an image of 512x54 pixels size. Uses grid references
| |
|
| |
| {{Boxcode|content=<syntaxhighlight lang="xml">
| |
| <RcoFile>
| |
| <MainTree>
| |
| <ObjectTree>
| |
| <Page name="page_coldboot" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane name="scelogo" standardPosX="0" standardPosY="0" standardPosZ="0" standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1" standardWidth="0" standardHeight="0" standardDepth="0" standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1" standardIconOffset="0x0" standardOnInit="nothing" standardUnknown17="0x98020000" standardUnknown18="0x99020000" standardUnknown19="0x0" standardUnknown20="0x9a020100" standardUnknown21="0x9b020100" standardUnknown22="0x100" planeImage="image:tex_scelogo" planeDisplayMode="0x0"></Plane>
| |
| </Page>
| |
| <Page name="page_coldboot2" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane name="coldboot_ps3logo" standardPosX="0" standardPosY="0" standardPosZ="0" standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1" standardWidth="0" standardWeight="0" standardDepth="0" standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1" standardIconOffset="0x0" standardOnInit="nothing" standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0" standardUnknown20="0x100" standardUnknown21="0x100" standardUnknown22="0x100" planeImage="nothing" planeDisplayMode="0x0"></Plane>
| |
| </Page>
| |
| <Page name="page_gameboot" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane name="ps3logo" standardPosX="0" standardPosY="0" standardPosZ="0" standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1" standardWidth="0" standardHeight="0" standardDepth="0" standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1" standardIconOffset="0x0" standardOnInit="nothing" standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0" standardUnknown20="0x9c020100" standardUnknown21="0x9d020100" standardUnknown22="0x100" planeImage="image:tex_ps3logo" planeDisplayMode="0x0"></Plane>
| |
| </ObjectTree>
| |
| </MainTree>
| |
| </RcoFile>
| |
| </syntaxhighlight>}}
| |
| And this is the same, using more linefeeds and tabs, and ordered in groups for a better overview
| |
| {{Boxcode|content=<syntaxhighlight lang="xml">
| |
| <RcoFile>
| |
| <MainTree>
| |
| <ObjectTree>
| |
| <Page name="page_coldboot" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane
| |
| name="scelogo"
| |
| standardPosX="0" standardPosY="0" standardPosZ="0"
| |
| standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1"
| |
| standardWidth="0" standardHeight="0" standardDepth="0"
| |
| standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1"
| |
| standardIconOffset="0x0"
| |
| standardOnInit="nothing"
| |
| standardUnknown17="0x98020000" standardUnknown18="0x99020000" standardUnknown19="0x0"
| |
| standardUnknown20="0x9a020100" standardUnknown21="0x9b020100" standardUnknown22="0x100"
| |
| planeImage="image:tex_scelogo"
| |
| planeDisplayMode="0x0"
| |
| >
| |
| </Plane>
| |
| </Page>
| |
| <Page name="page_coldboot2" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane
| |
| name="coldboot_ps3logo"
| |
| standardPosX="0" standardPosY="0" standardPosZ="0"
| |
| standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1"
| |
| standardWidth="0" standardWeight="0" standardDepth="0"
| |
| standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1"
| |
| standardIconOffset="0x0"
| |
| standardOnInit="nothing"
| |
| standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0"
| |
| standardUnknown20="0x100" standardUnknown21="0x100" standardUnknown22="0x100"
| |
| planeImage="nothing"
| |
| planeDisplayMode="0x0"
| |
| >
| |
| </Plane>
| |
| </Page>
| |
| <Page name="page_gameboot" pageUnknownInt0="0x1110000" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
| |
| <Plane
| |
| name="ps3logo"
| |
| standardPosX="0" standardPosY="0" standardPosZ="0"
| |
| standardRedScale="1" standardGreenScale="1" standardBlueScale="1" standardAlphaScale="1"
| |
| standardWidth="0" standardHeight="0" standardDepth="0"
| |
| standardScaleWidth="1" standardScaleHeight="1" standardScaleDepth="1"
| |
| standardIconOffset="0x0"
| |
| standardOnInit="nothing"
| |
| standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0"
| |
| standardUnknown20="0x9c020100" standardUnknown21="0x9d020100" standardUnknown22="0x100"
| |
| planeImage="image:tex_ps3logo"
| |
| planeDisplayMode="0x0"
| |
| >
| |
| </Plane>
| |
| </ObjectTree>
| |
| </MainTree>
| |
| </RcoFile>
| |
| </syntaxhighlight>}}
| |
| As a resume:
| |
|
| |
| *'''page_coldboot'''
| |
| **'''scelogo'''
| |
| ***standardPosX="0" standardPosY="0" standardPosZ="0" <--------------------------------------------------------------- '''positions are empty !'''
| |
| ***standardWidth="0" standardHeight="0" standardDepth="0" <------------------------------------------------------------ '''sizes are empty !'''
| |
| ***standardUnknown17="0x98020000" standardUnknown18="0x99020000" standardUnknown19="0x0" <------- This ones are grid references, overrides the values for position
| |
| ***standardUnknown20="0x9a020100" standardUnknown21="0x9b020100" standardUnknown22="0x100" <---- This ones are grid references, overrides the values for sizes
| |
|
| |
| *'''page_coldboot2'''
| |
| **'''coldboot_ps3logo'''
| |
| ***standardPosX="0" standardPosY="0" standardPosZ="0" <--------------------------------------------------------------- '''positions are empty !'''
| |
| ***standardWidth="0" standardHeight="0" standardDepth="0" <------------------------------------------------------------ '''sizes are empty !'''
| |
| ***standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0" <------------------------------ This is reserved for a grid reference, but is doubtfull how this values are working
| |
| ***standardUnknown20="0x100" standardUnknown21="0x100" standardUnknown22="0x100" <--------------------- This is reserved for a grid reference, but is doubtfull how this values are working
| |
|
| |
| *'''page_gameboot'''
| |
| **'''ps3logo'''
| |
| ***standardPosX="0" standardPosY="0" standardPosZ="0" <--------------------------------------------------------------- '''positions are empty !'''
| |
| ***standardWidth="0" standardHeight="0" standardDepth="0" <------------------------------------------------------------ '''sizes are empty !'''
| |
| ***standardUnknown17="0x0" standardUnknown18="0x0" standardUnknown19="0x0" <------------------------------- This ones are grid references, overrides the values for position
| |
| ***standardUnknown20="0x9c020100" standardUnknown21="0x9d020100" standardUnknown22="0x100" <------ This ones are grid references, overrides the values for sizes
| |
|
| |
| ----
| |
| Before calculating the grid references is needed to convert the values manually to the correct format. Every one of the attributes used for grid references is composed by 2 values, the first one is the grid reference 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 references
| |
| **position
| |
| ***standardUnknown17="0x98020000" <----------- this is 0x0'''298''' (grid reference) and 0x0000 (unknown)
| |
| ***standardUnknown18="0x99020000" <----------- this is 0x0'''299''' (grid reference) and 0x0000 (unknown)
| |
| ***standardUnknown19="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| **size
| |
| ***standardUnknown20="0x9a020100" <----------- this is 0x0'''29a''' (grid reference) and 0x000'''1''' (unknown)
| |
| ***standardUnknown21="0x9b020100" <----------- this is 0x0'''29b''' (grid reference) and 0x000'''1''' (unknown)
| |
| ***standardUnknown22="0x100" <------------------- this is 0x0000 (grid reference ?) and 0x000'''1''' (unknown)
| |
|
| |
| *'''coldboot_ps3logo''' grid references
| |
| **position
| |
| ***standardUnknown17="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| ***standardUnknown18="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| ***standardUnknown19="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| **size
| |
| ***standardUnknown20="0x100" <------------------- this is 0x0000 (grid reference ?) and 0x000'''1''' (unknown)
| |
| ***standardUnknown21="0x100" <------------------- this is 0x0000 (grid reference ?) and 0x000'''1''' (unknown)
| |
| ***standardUnknown22="0x100" <------------------- this is 0x0000 (grid reference ?) and 0x000'''1''' (unknown)
| |
|
| |
| *'''ps3logo''' grid references
| |
| **position
| |
| ***standardUnknown17="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| ***standardUnknown18="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| ***standardUnknown19="0x0" <---------------------- this is 0x0000 (grid reference ?) and 0x0000 (unknown)
| |
| **size
| |
| ***standardUnknown20="0x9c020100" <----------- this is 0x0'''29c''' (grid reference) and 0x000'''1''' (unknown)
| |
| ***standardUnknown21="0x9d020100" <----------- this is 0x0'''29d''' (grid reference) and 0x000'''1''' (unknown)
| |
| ***standardUnknown22="0x100" <------------------- this is 0x0000 (grid reference ?) and 0x000'''1''' (unknown)
| |
|
| |
| ----
| |
| Now to get the correct value from the grid references is needed to look at the [[XMB Layouts]] files '''from the same firmware !!!'''
| |
|
| |
| The grid reference value needs to be converted to decimal, and added a +1 (because it seems inside the .txt file the lines are counted starting with zero, so first line is number 0)
| |
|
| |
| *'''scelogo''' grid references
| |
| **position
| |
| ***standardUnknown17="0x98020000" <----------- the first 2 bytes 0x0'''298''' swapped and converted to decimal = 664 + 1 = '''line 665''' of [[XMB Layouts]] files
| |
| ***standardUnknown18="0x99020000" <----------- the first 2 bytes 0x0'''299''' swapped and converted to decimal = 665 + 1 = '''line 666''' of [[XMB Layouts]] files
| |
| ***standardUnknown19="0x0" <---------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
| **size
| |
| ***standardUnknown20="0x9a020100" <----------- the first 2 bytes 0x0'''29a''' swapped and converted to decimal = 666 + 1 = '''line 667''' of [[XMB Layouts]] files
| |
| ***standardUnknown21="0x9b020100" <----------- the first 2 bytes 0x0'''29b''' swapped and converted to decimal = 667 + 1 = '''line 668''' of [[XMB Layouts]] files
| |
| ***standardUnknown22="0x100" <------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
|
| |
| *'''ps3logo''' grid references
| |
| **position
| |
| ***standardUnknown17="0x0" <---------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
| ***standardUnknown18="0x0" <---------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
| ***standardUnknown19="0x0" <---------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
| **size
| |
| ***standardUnknown20="0x9c020100" <----------- the first 2 bytes 0x0'''29c''' swapped and converted to decimal = 668 + 1 = '''line 669''' of [[XMB Layouts]] files
| |
| ***standardUnknown21="0x9d020100" <----------- the first 2 bytes 0x0'''29d''' swapped and converted to decimal = 669 + 1 = '''line 670''' of [[XMB Layouts]] files
| |
| ***standardUnknown22="0x100" <------------------- the first 2 bytes 0x0000 swapped and converted to decimal = 0
| |
|
| |
| {| class="wikitable" style="font-size:small;"
| |
| |+ [[XMB]] Layout grid tables (from 4.76 firmware)
| |
| ! Line number !! layout_grid_table_272.txt !! layout_grid_table_480.txt !! layout_grid_table_720.txt !! layout_grid_table_1080.txt
| |
| |-
| |
| ! 1
| |
| | 0 || 0 || 0 || 0
| |
| |-
| |
| ! 2
| |
| | 1 || 1 || 1 || 1
| |
| |-
| |
| ! 665
| |
| | 177 || 133 || 266 || 400
| |
| |-
| |
| ! 666
| |
| | 0 || 0 || 0 || 0
| |
| |-
| |
| ! 667
| |
| | 455 || 455 || 682 || 1024
| |
| |-
| |
| ! 668
| |
| | 28 || 28 || 42 || 64
| |
| |-
| |
| ! 669
| |
| | 533 || 533 || 800 || 1200
| |
| |-
| |
| ! 670
| |
| | 56 || 56 || 85 || 128
| |
| |-
| |
| |}
| |
|
| |
| Now replacing the values from layout_grid_table_1080.txt to see how are displayed in a HD screen:
| |
|
| |
| *'''page_coldboot'''
| |
| **'''scelogo''' for 1080p resolution
| |
| ***position (displaced 400 pixels right from the center of the screen)
| |
| ****X=400
| |
| ****Y=0
| |
| ****Z=0
| |
| ***size (the original image tex_scelogo.gim is 512x32 pixels, but is displayed exactlly at double his size 1024x64)
| |
| ****X=1024
| |
| ****Y=64
| |
| ****Z=0
| |
|
| |
| *'''page_gameboot'''
| |
| **'''ps3logo''' for 1080p resolution
| |
| ***position (center of the screen)
| |
| ****X=0
| |
| ****Y=0
| |
| ****Z=0
| |
| ***size (the original image tex_ps3logo.gim is 512x54 pixels, but displayed at 1200x128<!--aspect ratio broken (by a sony mistake or on purpose ?), the correct size to preserve the aspect ratio of the original after scaling is 1200x127-->)
| |
| ****X=1200
| |
| ****Y=128
| |
| ****Z=0
| |
|
| |
| {{#ev:youtube|tgPXlMbchFM}}
| |
| {{#ev:youtube|GUb1gIKhwMU}}
| |