RCOXML Objects
Description
RCOXML Objects are defined in the RCOXML Coding code embedded inside Resource Container (RCO) files, should be considered the "construction blocks" of the XMB
filename | name | VSMXFile | ImageTree | FontTree | TextTree | ModelTree | SoundTree | ObjectTree | AnimTree | Notes |
---|---|---|---|---|---|---|---|---|---|---|
ap_plugin.rco | ap_plugin | No | No | No | No | No | No | Yes | No | |
audioplayer_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
audioplayer_plugin_dummy.rco | sample | No | No | No | Yes | No | No | No | No | |
audioplayer_plugin_mini.rco | sample | No | No | No | Yes | No | No | Yes | No | |
audioplayer_plugin_util.rco | sample | No | No | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
auth_plugin.rco | auth_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
autodownload_plugin.rco | autodownload_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
autoupdateconf_plugin.rco | autoupdateconff_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
avc2_game_plugin.rco | sample | No | No | No | Yes | No | No | No | No | |
avc2_game_video_plugin.rco | sample | No | Yes (gim) | No | No | No | No | Yes | No | |
avc2_text_plugin.rco | tcgui | No | Yes (gim) | No | Yes | No | No | Yes | No | |
avc_game_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
avc_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
bdp_disccheck_plugin.rco | bdp_disccheck_plugin | No | No | No | Yes | No | No | Yes | No | |
bdp_plugin.rco | bdp_plugin | No | Yes (gim) | No | Yes | No | No | Yes | Yes | |
bdp_storage_plugin.rco | bdp_storage_plugin | No | No | No | Yes | No | No | Yes | No | |
campaign_plugin.rco | campaign_plugin | No | Yes (gim, png) | No | Yes | No | No | Yes | No | |
category_setting_plugin.rco | category_setting_plugin | No | Yes (gim) | No | Yes | No | No | No | No | |
checker_plugin.rco | checker | No | No | No | No | No | No | Yes | No | Associated .sprx has a different name. |
closedcaption_config_plugin.rco | closedcaption_config_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
comboplay_plugin.rco | comboplay_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
custom_render_plugin.rco | custom_render_plugin | No | Yes (gim) | No | No | No | No | Yes | Yes | |
data_copy_plugin.rco | sample | No | No | No | Yes | No | No | Yes | No | |
deviceconf_plugin.rco | deviceconf_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
dlna_plugin.rco | dlna | No | Yes (gim) | No | Yes | No | No | Yes | No | |
download_plugin.rco | download | No | Yes (gim) | No | Yes | No | No | Yes | No | |
dtcpip_util.rco | dtcpip_util | No | No | No | Yes | No | No | Yes | No | |
edy_plugin.rco | edy_plugin | No | Yes (gim) | No | Yes | No | Yes | Yes | No | |
eula_cddb_plugin.rco | eula_cddb_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
eula_hcopy_plugin.rco | eula_hcopy | No | Yes (gim) | No | Yes | No | No | Yes | No | |
eula_net_plugin.rco | regcam_plugin | No | Yes (gim, png, jpg) | No | Yes | No | Yes | Yes | No | |
explore_category_friend.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_game.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_music.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_network.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_photo.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_psn.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_sysconf.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_tv.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_user.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_category_video.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_plugin_ft.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_plugin_full.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
explore_plugin_game.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
explore_plugin_np.rco | explore_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
filecopy_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
friendim_plugin.rco | friendim | No | Yes (gim) | No | Yes | No | No | Yes | Yes | |
friendim_plugin_game.rco | friendim | No | Yes (gim) | No | Yes | No | No | Yes | Yes | Associated .sprx has a different name. |
friendml_plugin.rco | friendml_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
friendml_plugin_game.rco | friendml_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
friendtrophy_plugin.rco | friendtrophy_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
friendtrophy_plugin_game.rco | friendtrophy_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
game_ext_plugin.rco | game_ext_plugin | No | Yes (gim, png) | No | Yes | No | No | Yes | No | |
game_indicator_plugin.rco | user_info_plugin | No | Yes (gim) | No | No | No | No | Yes | No | |
game_plugin.rco | game_plugin | No | No | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
gamedata_plugin.rco | gamedata_plugin | No | No | No | Yes | No | No | Yes | No | |
gamelib_plugin.rco | gamelib_plugin | No | Yes (gim) | No | No | No | No | Yes | Yes | |
gameupdate_plugin.rco | sample | No | No | No | Yes | No | No | Yes | No | |
hknw_plugin.rco | hknw_plugin | No | Yes (gim) | Yes | Yes | No | No | Yes | No | |
idle_plugin.rco | idle | No | No | No | No | No | No | Yes | No | |
impose_plugin.rco | impose_plugin | No | Yes (gim) | No | Yes | No | No | Yes | Yes | Associated .sprx has a different name. |
ingame_manual_plugin.rco | ingame_manual | No | No | No | Yes | No | No | Yes | No | |
kensaku_plugin.rco | kensaku | No | Yes (gim) | No | Yes | No | No | Yes | No | |
msgdialog_plugin.rco | msgdialog_plugin | No | No | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
mtpinitiator_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
musicbrowser_plugin.rco | sample | No | No | No | No | No | No | Yes | No | |
nas_plugin.rco | nas_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
netconf_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
newstore_effect.rco | skeleton_plugin | No | No | No | No | No | No | No | No | Empty file. |
newstore_plugin.rco | newstore_plugin | No | Yes (gim, png, jpg) | No | Yes | No | No | Yes | No | |
np_eula_plugin.rco | npeula | No | Yes (gim) | No | Yes | No | No | Yes | No | |
np_matching_plugin.rco | np_matching_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
np_multisignin_plugin.rco | np_multisignin_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
np_sns_plugin.rco | npsns | No | Yes (gim) | No | Yes | No | No | Yes | No | |
np_trophy_ingame.rco | np_achiev | No | Yes (gim) | No | Yes | No | No | Yes | No | |
np_trophy_plugin.rco | np_achiev | No | Yes (gim) | No | Yes | No | No | Yes | No | |
npsignin_plugin.rco | npsignin_plugin | No | Yes (gim) | No | Yes | No | No | Yes | Yes | |
osk_plugin.rco | sample | No | Yes (gim) | No | No | No | Yes | Yes | No | |
oskfullkeypanel_plugin.rco | ime_osk_base_resouce | No | Yes (gim) | No | Yes | No | No | Yes | No | |
oskpanel_plugin.rco | ime_osk_base_resouce | No | Yes (gim) | No | Yes | No | No | Yes | No | |
pesm_plugin.rco | pesm | No | No | No | No | No | No | Yes | No | |
photo_network_sharing_plugin.rco | pesm | No | Yes (gim) | No | Yes | No | No | Yes | No | |
photolist_plugin.rco | sample | No | No | No | No | No | No | Yes | No | |
photoupload_plugin.rco | dlna | No | Yes (gim) | No | Yes | No | No | Yes | No | |
photoviewer_plugin.rco | photoviewer_plugin | No | Yes (gim, png) | No | Yes | No | No | Yes | No | |
playlist_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
podl_plugin.rco | podl_plugin | No | No | No | No | No | No | Yes | No | |
poweroff_plugin.rco | poweroff | No | No | No | Yes | No | No | Yes | No | |
premo_plugin.rco | premo_plugin | No | Yes (gim) | No | Yes | No | No | Yes | Yes | |
print_plugin.rco | print_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
profile_plugin.rco | profile_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
profile_plugin_mini.rco | profile_plugin_mini | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
ps3_savedata_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
ps3_savedata_plugin_game_mini.rco | sample | No | No | No | Yes | No | No | Yes | No | |
rec_plugin.rco | rec_plugin | No | No | No | No | No | No | Yes | No | |
regcam_plugin.rco | regcam_plugin | No | Yes (gim, png, jpg) | No | Yes | No | Yes | Yes | No | |
remotedownload_plugin.rco | remotedownload | No | No | No | Yes | No | No | Yes | No | |
sacd_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | Yes | |
scenefolder_plugin.rco | sample | No | No | No | No | No | No | Yes | No | |
screenshot_plugin.rco | screenshot_plugin | No | No | No | Yes | No | No | Yes | No | |
search_service.rco | search_service | No | No | No | Yes | No | No | No | No | Associated .sprx has a different name. |
software_update_plugin.rco | software_update_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
soundvisualizer_plugin.rco | soundvisualizer | No | Yes (gim) | No | Yes | No | No | Yes | No | |
strviewer_plugin.rco | strviewer | No | No | No | Yes | No | No | Yes | No | |
subdisplay_plugin.rco | ap_plugin | No | No | No | No | No | No | Yes | No | Associated .sprx has a different name. |
sv_pseudoaudioplayer_plugin.rco | sv_pseudoaudioplayer | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
sysconf_plugin.rco | sysconf_plugin | No | Yes (gim) | Yes | Yes | No | No | Yes | No | |
system_plugin.rco | system_plugin | No | Yes (gim) | No | Yes | No | Yes | Yes | Yes | Associated .sprx has a different name. |
thumthum_plugin.rco | sample | No | No | No | Yes | No | No | Yes | No | |
upload_util.rco | upload_util | No | Yes (gim) | No | Yes | No | No | Yes | No | |
user_info_plugin.rco | user_info_plugin | No | No | No | Yes | No | No | Yes | No | |
user_plugin.rco | user | No | Yes (gim) | No | Yes | No | No | Yes | No | |
videoeditor_plugin.rco | skeleton_plugin | No | Yes (gim, png, jpg) | No | Yes | No | Yes | Yes | No | |
videoplayer_plugin.rco | videoplayer | No | Yes (gim) | No | Yes | No | No | Yes | No | |
videoplayer_util.rco | videoplayer | No | No | No | Yes | No | No | Yes | No | |
vmc_savedata_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
wboard_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
webbrowser_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
webrender_plugin.rco | sample | No | Yes (gim) | No | Yes | No | No | Yes | No | |
xmb_ingame.rco | xmb_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | |
xmb_plugin_normal.rco | xmb_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No | Associated .sprx has a different name. |
ycon_manual_plugin.rco | ycon_plugin | No | Yes (gim) | No | Yes | No | No | Yes | No |
General concepts
Camera, grid, coordinates, display priority
The grid is a 3D scene defined by the X, Y, Z axis, the camera (TV screen frame) is located in the vertical of Z axis, the world coordinates is located in the center of the screen (0, 0, 0)
entry types and reference types
Second byte | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 0x01 | 0x02 | 0x03 | 0x04 | 0x05 | 0x06 | 0x07 | 0x08 | 0x09 | 0x0A | 0x0B | 0x0C | 0x0D | 0x0E | 0x0F | 0x10 | 0x11 | 0x12 | 0x13 | 0x14 | 0x15 | 0x16 | 0x17 | 0x18 | 0x19 | 0x1A | 0x1B | 0x1C | 0x1D | 0x1E | 0x1F | ||
First byte | 0x01 | unk | MainTree | ||||||||||||||||||||||||||||||
0x02 | ScriptTree | ||||||||||||||||||||||||||||||||
0x03 | TextTree | Text | |||||||||||||||||||||||||||||||
0x04 | ImageTree | Image | |||||||||||||||||||||||||||||||
0x05 | ModelTree | Model | |||||||||||||||||||||||||||||||
0x06 | SoundTree | Sound | |||||||||||||||||||||||||||||||
0x07 | FontTree | Font | |||||||||||||||||||||||||||||||
0x08 | ObjectTree | Page | Plane | Button | XMenu | XMList | XList | Progress | Scroll | MList | MItem | unk | XItem | Text | ModelObject | Spin | Action | ItemSpin | Group | LList | LItem | Edit | Clock | IList | IItem | Icon | UButton | unk | CheckboxGroup | CheckboxItem | Meter | EditBox | |
0x09 | AnimTree | Anim | MoveTo | Recolour | Rotate | Resize | Fade | Delay | FireEvent | Lock | Unlock | SlideOut | |||||||||||||||||||||
Supported by and | Supported by only |
- The entry_types with the suffix Tree (as example MainTree) are special and doesnt uses attributes, MainTree is always located as the first entry, doesn't have a parent, and doesn't have any previous or next "sibling", the maximun number posible of childrens for MainTree is 8 (containing all the other "trees"). The other "trees" (as example imageTree or soundTree) are siblings and are the childrens of "MainTree", Every one of those "trees" contains a variable number of entry_types that are its childrens
- The attributes of the RCOXML Objects (entry_types starting with 0x08) and RCOXML Animations (entry_types starting with 0x09) can be grouped in standard attributes (used by most entryes of this type) and specific attributes (different for every entry_type). The standard attributes are always located before the specific attributes
- First two bytes are swapped based on architecture (PSP in little endian, PS3 in big endian). The table shows the values in big endian
reference_type | pointer | Method | Loader | Loads | From | Example (XML) | Notes |
---|---|---|---|---|---|---|---|
0xFFFF0000 | 0xFFFFFFFF | n/a | All | Nothing | None | <Entry reference="nothing"/> |
|
0x04000000 | relative | event: | RCOXML Objects RCOXML Animations |
Code function | Associated .SPRX | <Entry event="event:native:/runFuctionX"/> |
|
ScriptTree/Script | File inside RCO | <Entry event="event:script:/main/runFuctionX"/> |
|||||
0x04010000 | # (0-based) | text: | RCOXML Objects XMBML Code |
TextTree/Text | Strings inside RCO | <Entry text="text:msg_mytext"/> |
|
0x04020000 | absolute | image: | RCOXML Objects XMBML Code |
ImageTree/Image | File inside RCO | <Entry image="image:tex_mytexture"/> |
|
0x04030000 | absolute | model: | RCOXML Objects | ModelTree/Model | File inside RCO | <Entry model="model:mymodel"/> |
|
0x04040000 | absolute ? | sound: ? | associated .SPRX | SoundTree/Sound | File inside RCO | <Entry sound="sound:mysound"/> ? |
speculation |
0x04050000 | absolute | font: | RCOXML Objects | FontTree/Font | File inside RCO ? | <Entry font="font:fontstyle_sanserif"/> |
|
0x04060000 | absolute ? | anim2: ? | RCOXML Objects ? | AnimTree/Animation ? | RCOXML code ? | <Entry anim2="anim2:myanimation"/> ? |
speculation |
0x04070000 | absolute | object2: | RCOXML Objects | ObjectTree/Object | RCOXML code | <Entry object2="object2:plane_myplane"/> |
|
0x04080000 | absolute | anim: | RCOXML Animations | AnimTree/Animation | RCOXML code | <Entry anim="anim:myanimation"/> |
|
0x04090000 | absolute | object: | RCOXML Animations | ObjectTree/Object | RCOXML code | <Entry object="object:plane_myplane"/> |
- A reference attribute is composed by two values, the first is the reference_type that indicates the "tree" of the entry that is going to be loaded, and the second is a pointer to a text string with the label of the entry that is going to be loaded
- The reference_type event doesnt loads an entry from a "tree" though, it runs a code function from either a .sprx (by storing the text native:/ as part of the text string inside the RCO) or from a VSMX script (by storing the text script:/ as part of the text string inside the RCO)
- First two bytes are swapped based on architecture (PSP in little endian, PS3 in big endian). The table shows the values in big endian
Override attributes
- Screen resolution adaptative values (overrides)
Some of the values inside .rco files has been replaced by a pointer to the XMB Layouts files with the purpose of changing the values "on the fly" based in the screen resolution settings for the TV. The firmware loads the rco, calculates a reference to a line of the grid table, and loads the value from the grid table
The value in the rco is composed by: "grid line reference" (first 2 bytes swapped, then converted to decimal) + "unknown flags" (last 2 bytes swapped). The "unknown flags" maybe are related with the presence (or not) of a alternative value in the factor tables
rcomage is not able to extract the 2 values that composes each attribute separatedlly (it messes up both together, the "grid line reference" from the first 2 bytes, and the "unknown flags" from last 2 bytes), for this reason the better way to manage this data types with rcomage is as data type "unk" (for a raw value extraction)
The .rco format is inherited from PSP, but PSP only used 1 screen resolution so this feature of the .rco format was not used in PSP, is specific for PS3
Standard attributes used by objects
- For a better understanding is posible to difference two groups of attributes based in how are used by the objects
- Standard attributes are used by all the objects except the main Page, some menu builders (XMList, XItem, MItem, LItem, IItem), and CheckboxItem
- Specific attributes are only used by a specific object, the only object that doesnt uses specific attributes is Group
- The names of the specific attributes starts with the objectname to make them unique (as example: the attribute pageOnInit belongs to the object "page")
- Attribute names that uses a set of non-intuitive predefined values ends with Mode (as example: the attribute pageResizeMode is an special mode of the object "page")
- Attribute names wich purpose is to override other attribute contains the name of the overrided attribute (as example: the attribute textPositionOverrideX overrides the value of the attribute "PositionX" from the object "text"
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x28 | 0x04 | float | positionX | Yes | Yes | 42 C8 00 00 | <Element positionX="100"/> |
XYZ Position, in pixels |
0x2C | 0x04 | float | positionY | Yes | Yes | 42 C8 00 00 | <Element positionY="100"/>
| |
0x30 | 0x04 | float | positionZ | Yes | Yes | 00 00 00 00 | <Element positionZ="0"/>
| |
0x34 | 0x04 | float | colorScaleR | Yes | Yes | 3F 80 00 00 | <Element colorScaleR="1"/> |
RGBA Color Scale multiplyer |
0x38 | 0x04 | float | colorScaleG | Yes | Yes | 3F 80 00 00 | <Element colorScaleG="1"/>
| |
0x3C | 0x04 | float | colorScaleB | Yes | Yes | 3F 80 00 00 | <Element colorScaleB="1"/>
| |
0x40 | 0x04 | float | colorScaleA | Yes | Yes | 3F 00 00 00 | <Element colorScaleA="0.5"/>
| |
0x44 | 0x04 | float | sizeX | Yes | Yes | 42 C8 00 00 | <Element sizeX="100"/> |
XYZ Size, in pixels |
0x48 | 0x04 | float | sizeY | Yes | Yes | 42 C8 00 00 | <Element sizeY="100"/>
| |
0x4C | 0x04 | float | sizeZ | Yes | Yes | 00 00 00 00 | <Element sizeZ="0"/>
| |
0x50 | 0x04 | float | sizeScaleX | Yes | Yes | 3F 80 00 00 | <Element sizeScaleX="1"/> |
XYZ Size Scale multiplyer |
0x54 | 0x04 | float | sizeScaleY | Yes | Yes | 3F 80 00 00 | <Element sizeScaleY="1"/>
| |
0x58 | 0x04 | float | sizeScaleZ | Yes | Yes | 3F 80 00 00 | <Element sizeScaleZ="1"/>
| |
0x5C | 0x04 | unk | anchorMode | Yes | Yes | 00 00 / 32 00 | <Element anchorMode="0x3200"/> |
Object handler point. See RCOXML Objects and talk pages |
0x60 | 0x08 | event | onInit | Yes | Yes | 04 00 / 00 00 / 12 34 56 78 | <Element onInit="event:native:/runFuctionX"/> |
Triggers an event (ref_type[2], padding[2], event_string_table_offset[4]) |
0x68 | 0x04 | unk | positionOverrideX | No | Yes | 34 12 / 00 00 | <Element positionOverrideX="0x34120000"/> |
Overrides XYZ Position with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x6C | 0x04 | unk | positionOverrideY | No | Yes | 35 12 / 00 00 | <Element positionOverrideY="0x35120000"/>
| |
0x70 | 0x04 | unk | positionOverrideZ | No | Yes | 36 12 / 00 00 | <Element positionOverrideZ="0x36120000"/>
| |
0x74 | 0x04 | unk | sizeOverrideX | No | Yes | 37 12 / 01 00 | <Element sizeOverrideX="0x37120100"/> |
Overrides XYZ Size with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x78 | 0x04 | unk | sizeOverrideY | No | Yes | 38 12 / 01 00 | <Element sizeOverrideY="0x38120100"/>
| |
0x7C | 0x04 | unk | sizeOverrideZ | No | Yes | 39 12 / 01 00 | <Element sizeOverrideZ="0x39120100"/>
|
- AnchorMode
- Affects the position of the object and all transformations (resize, rotate, etc...), valid values:
0x11 | 0x10 | 0x12 |
0x01 | 0x00 | 0x02 |
0x21 | 0x20 | 0x22 |
- Values 0x31 and 0x32 are valid for PS3 too. Found in system_plugin.rco PS3 4.82 OFW, used by a couple of "Text" objects children of a "Page" named "page_infobar" (the XMB sidemenu)
- In PSP 6.61 ofw has been found also the values (missing in the table above). All them found used by Text objects:
- 0x03, 0x13, (and 0x23 ?)
- 0x30, 0x31, 0x32, 0x33
- 0x40, 0x41, 0x42, 0x43
Measure units and conversions
- XYZ Position, in pixels
- RGBA Color Scale in percentage in a scale from 0 up to 1, where 1 represents the max value posible of 255 (decimal value divided by 255 to get into this scale)
- XYZ Size, in pixels, negative numbers mirrors the image
- XYZ Size Scale, in percentage in a scale from 0 up to 1, negative numbers mirrors the image
- Time, in miliseconds, where 1000 is one second
- XYZ Angle, in radians with right-handed rule coordinates, where radians=(π*degrees)/180, and degrees=(180*radians)/π, as example for one turn of 360º degrees: radians=(3.141*360)/180=6.283 ...so... 360º degrees = 6.283 radians
- Float conversions
- Some of the values in the tables in frontpage (in the red marked rows as speculative) was dumped by rcomage as type "unk" but are "floats", for this reason rcomage didnt made the float-to-decimal conversion and appears as a hexidecimal value with the endianess swapped (bytes reversed) and the starting zeroes removed. To make the decimal conversion you can use this web http://www.h-schmidt.net/FloatConverter/IEEE754.html Example, a value 0xa0c0 was extracted by using the type "unk". After changing endianess manually the value is 0xc0a00000. And after the decimal conversion the result is -5
Objects
Every one of this objects is given an ID number when the RCO is created, the object names are lost and is stored only the ID, this ID's was given by the people that created the RCO format and its order is confusing (doesnt seems to follow any rule). Programs like Rcomage in his settings file objattribdef-ps3.ini uses the same order than sony for better understanding of the format
But for wiki purposes (better understanding of what every object does, and for comparison of objects) is better to order them in a different way based in his purpose, however in this wiki page appears the object name and his ID... as example, the object Page has 0x01 ID
PSP can use the objects from 0x01 up to 0x1A, and PS3 up to 0x1F
Hierarchy builders
(0x08 0x00) ObjectTree
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x00 | 0x04 | int | entry_type | Yes | Yes | 08 00 / 00 00 | <'"`UNIQ--syntaxhighlight-00000022-QINU`"' name="label"/> |
entry_type[2], padding[2] |
0x04 | 0x04 | int | entry_label_offset | Yes | Yes | FF FF FF FF | label_string_table_offset[4] (optional) | |
0x08 | 0x04 | int | attributes_offset | Yes | Yes | 00 00 00 00 | represents XML hierarchy | Attributes offset relative to the start of this entry (optional) |
0x0C | 0x04 | int | children_offset | Yes | Yes | 00 00 00 28 | First children offset relative to the start of this entry (optional) | |
0x10 | 0x04 | int | children_number | Yes | Yes | 00 00 00 00 | Number of subentries | |
0x14 | 0x04 | int | next_sibling_offset | Yes | Yes | 00 00 00 00 | Next sibling offset relative to the start of this entry (optional) | |
0x18 | 0x04 | int | prev_sibling_offset | Yes | Yes | 00 00 00 00 | Previous sibling offset relative to the start of this entry (optional) | |
0x1C | 0x04 | int | parent_offset | Yes | Yes | 00 00 00 00 | This entry offset relative to the start of the parent entry | |
0x20 | 0x08 | unk | toc_entry_unk | Yes | Yes | 00 00 00 00 .. . | no XML representation | Unknown |
(0x08 0x01) Page
All the pages under ObjectTree are its childrens, are brothers of the other pages at the same level, and can be considered the most "top" level of RCOXML objects hierarchy
Doesn't uses the standard attributes (no position, no size, etc...) so doesn't displays anything, the purpose is to group children objects under a page to be able to load them together, and also to load pages selectivelly
The specific attributes used by pages are some events that indicates what happens when the page is loaded, unloaded, its side menu, and executed. When a page is loaded all its childrens are loaded sequentially from top to bottom
Some of the pages are only loaded if a condition hardcoded inside the associated .sprx is satisfyed... and can be triggered externally by sending a command to the "plugin interface" of the .associated sprx specifying the page name
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x00 | 0x04 | int | entry_type | Yes | Yes | 08 01 / 00 00 | <'"`UNIQ--syntaxhighlight-00000025-QINU`"' name="label"/> |
entry_type[2], padding[2] |
0x04 | 0x04 | int | entry_label_offset | Yes | Yes | 00 00 00 00 | label_string_table_offset[4] (optional) | |
0x08 | 0x04 | int | attributes_offset | Yes | Yes | 00 00 00 28 | represents XML hierarchy | Attributes offset relative to the start of this entry (optional) |
0x0C | 0x04 | int | children_offset | Yes | Yes | 00 00 00 4C | First children offset relative to the start of this entry (optional) | |
0x10 | 0x04 | int | children_number | Yes | Yes | 00 00 00 00 | Number of subentries | |
0x14 | 0x04 | int | next_sibling_offset | Yes | Yes | 00 00 00 00 | Next sibling offset relative to the start of this entry (optional) | |
0x18 | 0x04 | int | prev_sibling_offset | Yes | Yes | 00 00 00 00 | Previous sibling offset relative to the start of this entry (optional) | |
0x1C | 0x04 | int | parent_offset | Yes | Yes | 00 00 00 00 | This entry offset relative to the start of the parent entry | |
0x20 | 0x08 | unk | toc_entry_unk | Yes | Yes | 00 00 00 00 .. . | no XML representation | Unknown |
0x28 | 0x04 | unk | pageMode | Yes | Yes | 01 11 / 00 00 | <Page pageMode="0x1101" /> |
First 2 bytes = pageMode (see below), last 2 bytes padding |
0x2C | 0x08 | event | pageOnInit | Yes | Yes | 04 00 / 00 00 / 12 34 56 78 | <Page pageOnInit="event:native:/OnControlPanelButtonInit" /> |
Triggers an event, see RCOXML Coding (first 4 bytes reference_type, last 4 bytes string_offset) |
0x34 | 0x08 | event | pageOnCancel | Yes | Yes | 04 00 / 00 00 / 12 34 56 88 | <Page pageOnCancel="event:native:/OnControlPanelButtonCancel" />
| |
0x3C | 0x08 | event | pageOnContext | Yes | Yes | 04 00 / 00 00 / 12 34 56 98 | <Page pageOnContext="event:native:/OnControlPanelButtonContextMenu" />
| |
0x44 | 0x08 | event | pageOnActivate | Yes | Yes | 04 00 / 00 00 / 12 34 56 A8 | <Page pageOnActivate="event:native:/OnControlPanelButtonActivate" />
|
- pageMode speculation
- rcomage only extracts the first 2 bytes (swapped based on endianess), the last 2 bytes are ignored, is the same value for PSP and PS3, the examples below are the real values copyed from a hexeditor (not converted by rcomage)
- Used 699 times in PSP 6.61 ofw with value: "0x1101" (little endian)
- Used 1174 times in PS3 4.76 ofw with value: "0x0111" (big endian)
- Related with firmware/vsh/sprx execution/loading/visibility modes ?...
- The data type has been changed to "unk" to allow a raw extraction of the value (that looks like flags)
(0x08 0x02) Plane
A plane is the second most important object, it can be located inmediatlly under a page (and also in lower levels of the hierarchy, as example: a plane inside a group, inside another plane, inside a page)
The only other object that can be located inmediatlly under a page is a group. In this sense a plane and a group are similar, the bigger difference is a plane uses "standard object attributes" + "specific object attributes" and a group only uses "specific object attributes"
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x00 | 0x04 | int | entry_type | Yes | Yes | 08 02 / 00 00 | <'"`UNIQ--syntaxhighlight-0000002D-QINU`"' name="label"/> |
entry_type[2], padding[2] |
0x04 | 0x04 | int | entry_label_offset | Yes | Yes | 00 00 00 00 | label_string_table_offset[4] (optional) | |
0x08 | 0x04 | int | attributes_offset | Yes | Yes | 00 00 00 28 | represents XML hierarchy | Attributes offset relative to the start of this entry (optional) |
0x0C | 0x04 | int | children_offset | Yes | Yes | 00 00 00 8C | First children offset relative to the start of this entry (optional) | |
0x10 | 0x04 | int | children_number | Yes | Yes | 00 00 00 00 | Number of subentries | |
0x14 | 0x04 | int | next_sibling_offset | Yes | Yes | 00 00 00 00 | Next sibling offset relative to the start of this entry (optional) | |
0x18 | 0x04 | int | prev_sibling_offset | Yes | Yes | 00 00 00 00 | Previous sibling offset relative to the start of this entry (optional) | |
0x1C | 0x04 | int | parent_offset | Yes | Yes | 00 00 00 00 | This entry offset relative to the start of the parent entry | |
0x20 | 0x08 | unk | toc_entry_unk | Yes | Yes | 00 00 00 00 .. . | no XML representation | Unknown |
0x28 | 0x04 | float | positionX | Yes | Yes | 42 C8 00 00 | <Plane positionX="100"/> |
XYZ Position, in pixels |
0x2C | 0x04 | float | positionY | Yes | Yes | 42 C8 00 00 | <Plane positionY="100"/>
| |
0x30 | 0x04 | float | positionZ | Yes | Yes | 00 00 00 00 | <Plane positionZ="0"/>
| |
0x34 | 0x04 | float | colorScaleR | Yes | Yes | 3F 80 00 00 | <Plane colorScaleR="1"/> |
RGBA Color Scale multiplyer |
0x38 | 0x04 | float | colorScaleG | Yes | Yes | 3F 80 00 00 | <Plane colorScaleG="1"/>
| |
0x3C | 0x04 | float | colorScaleB | Yes | Yes | 3F 80 00 00 | <Plane colorScaleB="1"/>
| |
0x40 | 0x04 | float | colorScaleA | Yes | Yes | 3F 00 00 00 | <Plane colorScaleA="0.5"/>
| |
0x44 | 0x04 | float | sizeX | Yes | Yes | 42 C8 00 00 | <Plane sizeX="100"/> |
XYZ Size, in pixels |
0x48 | 0x04 | float | sizeY | Yes | Yes | 42 C8 00 00 | <Plane sizeY="100"/>
| |
0x4C | 0x04 | float | sizeZ | Yes | Yes | 00 00 00 00 | <Plane sizeZ="0"/>
| |
0x50 | 0x04 | float | sizeScaleX | Yes | Yes | 3F 80 00 00 | <Plane sizeScaleX="1"/> |
XYZ Size Scale multiplyer |
0x54 | 0x04 | float | sizeScaleY | Yes | Yes | 3F 80 00 00 | <Plane sizeScaleY="1"/>
| |
0x58 | 0x04 | float | sizeScaleZ | Yes | Yes | 3F 80 00 00 | <Plane sizeScaleZ="1"/>
| |
0x5C | 0x04 | unk | anchorMode | Yes | Yes | 00 00 / 32 00 | <Plane anchorMode="0x3200"/> |
Object handler point. See RCOXML Objects and talk pages |
0x60 | 0x08 | event | onInit | Yes | Yes | 04 00 / 00 00 / 12 34 56 78 | <Plane onInit="event:native:/runFuctionX"/> |
Triggers an event (ref_type[2], padding[2], event_string_table_offset[4]) |
0x68 | 0x04 | unk | positionOverrideX | No | Yes | 34 12 / 00 00 | <Plane positionOverrideX="0x34120000"/> |
Overrides XYZ Position with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x6C | 0x04 | unk | positionOverrideY | No | Yes | 35 12 / 00 00 | <Plane positionOverrideY="0x35120000"/>
| |
0x70 | 0x04 | unk | positionOverrideZ | No | Yes | 36 12 / 00 00 | <Plane positionOverrideZ="0x36120000"/>
| |
0x74 | 0x04 | unk | sizeOverrideX | No | Yes | 37 12 / 01 00 | <Plane sizeOverrideX="0x37120100"/> |
Overrides XYZ Size with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x78 | 0x04 | unk | sizeOverrideY | No | Yes | 38 12 / 01 00 | <Plane sizeOverrideY="0x38120100"/>
| |
0x7C | 0x04 | unk | sizeOverrideZ | No | Yes | 39 12 / 01 00 | <Plane sizeOverrideZ="0x39120100"/>
| |
0x80 | 0x08 | image | planeImage | Yes | Yes | 04 02 / 00 00 / 12 34 56 78 | <Plane planeImage="image:tex_indi_message" /> |
Loads a image from ImageTree (first 4 bytes reference_type, last 4 bytes string_offset) |
0x88 | 0x04 | int | planeResizeMode | Yes | Yes | 00 00 / 00 01 | <Plane planeResizeMode="0x1" /> |
see below (first 2 bytes unknown, last 2 bytes mode) |
- planeResizeMode is an special data type, composed by 2 fileds of 2 bytes each, note the value "0x3ffff" found in PSP is a combination of 0x0003 (first 2 bytes) and 0xffff (last 2 bytes)
value (2 bytes) | Resize method |
---|---|
0x0000 | do nothing ? |
0xffff | apply value to childrens ? |
value (2 bytes) | Resize method |
---|---|
0x0000 | no resize ? |
0x0001 | X related ? |
0x0002 | Y related ? |
0x0003 | Z related ? |
"displaymode" seems to be predefined resize modes, the purpose is to override the size values of the "standard attribute" group
A "plane" object is defined by the "standard attributes" + a reference to an image (with any size) + the resize mode for that image
The different resize modes preserves overrides the size values of "X", "Y", "both", or "none" from the "standard attributes" by the values from the real image (because a plane is a 2 dimensional object it seems "Z" is not involved in this resize transformation...or it is ?, there are 5 posible values and matches fine with: 0=none, 1=X, 2=Y, 3=Z, ffff=all)
- This attribute seems to use the same format and valid values than:
- "text" object attribute "textUnknown55"
- Others ?
(0x08 0x12) Group
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x00 | 0x04 | int | entry_type | Yes | Yes | 08 12 / 00 00 | <'"`UNIQ--syntaxhighlight-00000047-QINU`"' name="label"/> |
entry_type[2], padding[2] |
0x04 | 0x04 | int | entry_label_offset | Yes | Yes | 00 00 00 00 | label_string_table_offset[4] (optional) | |
0x08 | 0x04 | int | attributes_offset | Yes | Yes | 00 00 00 28 | represents XML hierarchy | Attributes offset relative to the start of this entry (optional) |
0x0C | 0x04 | int | children_offset | Yes | Yes | 00 00 00 80 | First children offset relative to the start of this entry (optional) | |
0x10 | 0x04 | int | children_number | Yes | Yes | 00 00 00 00 | Number of subentries | |
0x14 | 0x04 | int | next_sibling_offset | Yes | Yes | 00 00 00 00 | Next sibling offset relative to the start of this entry (optional) | |
0x18 | 0x04 | int | prev_sibling_offset | Yes | Yes | 00 00 00 00 | Previous sibling offset relative to the start of this entry (optional) | |
0x1C | 0x04 | int | parent_offset | Yes | Yes | 00 00 00 00 | This entry offset relative to the start of the parent entry | |
0x20 | 0x08 | unk | toc_entry_unk | Yes | Yes | 00 00 00 00 .. . | no XML representation | Unknown |
0x28 | 0x04 | float | positionX | Yes | Yes | 42 C8 00 00 | <Group positionX="100"/> |
XYZ Position, in pixels |
0x2C | 0x04 | float | positionY | Yes | Yes | 42 C8 00 00 | <Group positionY="100"/>
| |
0x30 | 0x04 | float | positionZ | Yes | Yes | 00 00 00 00 | <Group positionZ="0"/>
| |
0x34 | 0x04 | float | colorScaleR | Yes | Yes | 3F 80 00 00 | <Group colorScaleR="1"/> |
RGBA Color Scale multiplyer |
0x38 | 0x04 | float | colorScaleG | Yes | Yes | 3F 80 00 00 | <Group colorScaleG="1"/>
| |
0x3C | 0x04 | float | colorScaleB | Yes | Yes | 3F 80 00 00 | <Group colorScaleB="1"/>
| |
0x40 | 0x04 | float | colorScaleA | Yes | Yes | 3F 00 00 00 | <Group colorScaleA="0.5"/>
| |
0x44 | 0x04 | float | sizeX | Yes | Yes | 42 C8 00 00 | <Group sizeX="100"/> |
XYZ Size, in pixels |
0x48 | 0x04 | float | sizeY | Yes | Yes | 42 C8 00 00 | <Group sizeY="100"/>
| |
0x4C | 0x04 | float | sizeZ | Yes | Yes | 00 00 00 00 | <Group sizeZ="0"/>
| |
0x50 | 0x04 | float | sizeScaleX | Yes | Yes | 3F 80 00 00 | <Group sizeScaleX="1"/> |
XYZ Size Scale multiplyer |
0x54 | 0x04 | float | sizeScaleY | Yes | Yes | 3F 80 00 00 | <Group sizeScaleY="1"/>
| |
0x58 | 0x04 | float | sizeScaleZ | Yes | Yes | 3F 80 00 00 | <Group sizeScaleZ="1"/>
| |
0x5C | 0x04 | unk | anchorMode | Yes | Yes | 00 00 / 32 00 | <Group anchorMode="0x3200"/> |
Object handler point. See RCOXML Objects and talk pages |
0x60 | 0x08 | event | onInit | Yes | Yes | 04 00 / 00 00 / 12 34 56 78 | <Group onInit="event:native:/runFuctionX"/> |
Triggers an event (ref_type[2], padding[2], event_string_table_offset[4]) |
0x68 | 0x04 | unk | positionOverrideX | No | Yes | 34 12 / 00 00 | <Group positionOverrideX="0x34120000"/> |
Overrides XYZ Position with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x6C | 0x04 | unk | positionOverrideY | No | Yes | 35 12 / 00 00 | <Group positionOverrideY="0x35120000"/>
| |
0x70 | 0x04 | unk | positionOverrideZ | No | Yes | 36 12 / 00 00 | <Group positionOverrideZ="0x36120000"/>
| |
0x74 | 0x04 | unk | sizeOverrideX | No | Yes | 37 12 / 01 00 | <Group sizeOverrideX="0x37120100"/> |
Overrides XYZ Size with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x78 | 0x04 | unk | sizeOverrideY | No | Yes | 38 12 / 01 00 | <Group sizeOverrideY="0x38120100"/>
| |
0x7C | 0x04 | unk | sizeOverrideZ | No | Yes | 39 12 / 01 00 | <Group sizeOverrideZ="0x39120100"/>
|
- objecttree
- page
- group
- plane
- group
- etc...
- plane
- group
- page
- objecttree
- page
- plane
- group
- plane
- etc...
- group
- plane
- page
Menu lists
(0x08 0x04) XMenu
Offset | Length | Type | Name | Example (TOC) | Example (XML) | Notes | ||
---|---|---|---|---|---|---|---|---|
0x00 | 0x04 | int | entry_type | Yes | Yes | 08 04 / 00 00 | <'"`UNIQ--syntaxhighlight-0000005F-QINU`"' name="label"/> |
entry_type[2], padding[2] |
0x04 | 0x04 | int | entry_label_offset | Yes | Yes | 00 00 00 00 | label_string_table_offset[4] (optional) | |
0x08 | 0x04 | int | attributes_offset | Yes | Yes | 00 00 00 28 | represents XML hierarchy | Attributes offset relative to the start of this entry (optional) |
0x0C | 0x04 | int | children_offset | Yes | Yes | 00 00 00 AC | First children offset relative to the start of this entry (optional) | |
0x10 | 0x04 | int | children_number | Yes | Yes | 00 00 00 00 | Number of subentries | |
0x14 | 0x04 | int | next_sibling_offset | Yes | Yes | 00 00 00 00 | Next sibling offset relative to the start of this entry (optional) | |
0x18 | 0x04 | int | prev_sibling_offset | Yes | Yes | 00 00 00 00 | Previous sibling offset relative to the start of this entry (optional) | |
0x1C | 0x04 | int | parent_offset | Yes | Yes | 00 00 00 00 | This entry offset relative to the start of the parent entry | |
0x20 | 0x08 | unk | toc_entry_unk | Yes | Yes | 00 00 00 00 .. . | no XML representation | Unknown |
0x28 | 0x04 | float | positionX | Yes | Yes | 42 C8 00 00 | <XMenu positionX="100"/> |
XYZ Position, in pixels |
0x2C | 0x04 | float | positionY | Yes | Yes | 42 C8 00 00 | <XMenu positionY="100"/>
| |
0x30 | 0x04 | float | positionZ | Yes | Yes | 00 00 00 00 | <XMenu positionZ="0"/>
| |
0x34 | 0x04 | float | colorScaleR | Yes | Yes | 3F 80 00 00 | <XMenu colorScaleR="1"/> |
RGBA Color Scale multiplyer |
0x38 | 0x04 | float | colorScaleG | Yes | Yes | 3F 80 00 00 | <XMenu colorScaleG="1"/>
| |
0x3C | 0x04 | float | colorScaleB | Yes | Yes | 3F 80 00 00 | <XMenu colorScaleB="1"/>
| |
0x40 | 0x04 | float | colorScaleA | Yes | Yes | 3F 00 00 00 | <XMenu colorScaleA="0.5"/>
| |
0x44 | 0x04 | float | sizeX | Yes | Yes | 42 C8 00 00 | <XMenu sizeX="100"/> |
XYZ Size, in pixels |
0x48 | 0x04 | float | sizeY | Yes | Yes | 42 C8 00 00 | <XMenu sizeY="100"/>
| |
0x4C | 0x04 | float | sizeZ | Yes | Yes | 00 00 00 00 | <XMenu sizeZ="0"/>
| |
0x50 | 0x04 | float | sizeScaleX | Yes | Yes | 3F 80 00 00 | <XMenu sizeScaleX="1"/> |
XYZ Size Scale multiplyer |
0x54 | 0x04 | float | sizeScaleY | Yes | Yes | 3F 80 00 00 | <XMenu sizeScaleY="1"/>
| |
0x58 | 0x04 | float | sizeScaleZ | Yes | Yes | 3F 80 00 00 | <XMenu sizeScaleZ="1"/>
| |
0x5C | 0x04 | unk | anchorMode | Yes | Yes | 00 00 / 32 00 | <XMenu anchorMode="0x3200"/> |
Object handler point. See RCOXML Objects and talk pages |
0x60 | 0x08 | event | onInit | Yes | Yes | 04 00 / 00 00 / 12 34 56 78 | <XMenu onInit="event:native:/runFuctionX"/> |
Triggers an event (ref_type[2], padding[2], event_string_table_offset[4]) |
0x68 | 0x04 | unk | positionOverrideX | No | Yes | 34 12 / 00 00 | <XMenu positionOverrideX="0x34120000"/> |
Overrides XYZ Position with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x6C | 0x04 | unk | positionOverrideY | No | Yes | 35 12 / 00 00 | <XMenu positionOverrideY="0x35120000"/>
| |
0x70 | 0x04 | unk | positionOverrideZ | No | Yes | 36 12 / 00 00 | <XMenu positionOverrideZ="0x36120000"/>
| |
0x74 | 0x04 | unk | sizeOverrideX | No | Yes | 37 12 / 01 00 | <XMenu sizeOverrideX="0x37120100"/> |
Overrides XYZ Size with pointers to the XMB Layouts (grid_pointer[2], factor_pointer[2]) |
0x78 | 0x04 | unk | sizeOverrideY | No | Yes | 38 12 / 01 00 | <XMenu sizeOverrideY="0x38120100"/>
| |
0x7C | 0x04 | unk | sizeOverrideZ | No | Yes | 39 12 / 01 00 | <XMenu sizeOverrideZ="0x39120100"/>
| |
0x80 | 0x04 | int | xmenuItemsCount | Yes | Yes | 00 00 00 0A | <XMenu xmenuItemsCount="0xa" /> |
Number of main items of XMB Menu |
0x84 | 0x08 | event | xmenuOnPush | Yes | Yes | 04 00 / 00 00 / 12 34 56 79 | <XMenu xmenuOnPush="event:native:/Bar::onPush" /> |
Triggers an event, see RCOXML Coding |
0x8C | 0x08 | event | xmenuOnContext | Yes | Yes | 04 00 / 00 00 / 12 34 56 7A | <XMenu xmenuOnContext="event:native:/Bar::onContextMenu" />
| |
0x94 | 0x08 | event | xmenuOnCursorMove | Yes | Yes | 04 00 / 00 00 / 12 34 56 7B | <XMenu xmenuOnCursorMove="event:native:/Bar::onCursorMove" />
| |
0x9C | 0x08 | event | xmenuOnScrollIn | Yes | Yes | 04 00 / 00 00 / 12 34 56 7C | <XMenu xmenuOnScrollIn="event:native:/Bar::onScrollIn" />
| |
0xA4 | 0x08 | event | xmenuOnScrollOut | Yes | Yes | 04 00 / 00 00 / 12 34 56 7D | <XMenu xmenuOnScrollOut="event:native:/Bar::onScrollOut" />
|
(0x08 0x06) XList
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
xlistUnknownInt23 | int | Yes | Yes | 0x0 | Unknown. Used 48 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 18 times in PS3 4.76 ofw with value: "0x0" |
xlistOnCursorMove | event | Yes | Yes | event:native:/XmbMenu::OnCursorMoveXmList | Triggers an event, see RCOXML Coding |
xlistOnScrollIn | event | Yes | Yes | event:native:/XmbMenu::OnScrollInXmList | |
xlistOnScrollOut | event | Yes | Yes | event:native:/OnScrollOut_VmcAppearSettingList | |
xlistOnPush | event | Yes | Yes | event:native:/OnPush_VmcAppearSettingList | |
xlistOnContext | event | Yes | Yes | event:native:/OnContextMenuContentListFirstListPage | |
xlistOnFocusLeft | event | Yes | Yes | event:native:/XmbMenu::OnFocusLeftXmList | |
xlistOnFocusRight | event | Yes | Yes | event:native:/OnFocusRightContentListFirstListPage |
- On XMB vertical lists, when clicking left is using a "onCancel" because moves 1 level up in the hierarchy (used around 14 times on PS3 firmware this way), but is replacing the event "onFocusLeft" (used only 1 time in PS3 firmware this way, but this is the correct one)
(0x08 0x09) MList
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
mlistItemsCount | int | Yes | Yes | 0x15 | Number of items in the list |
mlistUnknown24 | unk | Yes | Yes | 0x0 | Unknown. Used 184 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 409 times in PS3 4.76 ofw with value: "0x0" |
mlistItemDefault | int | Yes | Yes | 0xffffffff | See below. (on objattribdef-psp.ini is named initTopPadding, the initial position of the cursor) |
mlistUnknownInt26 | int | Yes | Yes | 0x2 | Unknown. Used 184 times in PSP 6.61 ofw with values: "0x0" (180 times), "0x1" (2 times), "0x2" (2 times) Unknown. Used 409 times in PS3 4.76 ofw with values: "0x0" (395 times), "0x1" (10 times), "0x2" (4 times) |
mlistItemSpacing | float | Yes | Yes | 24 | See below |
mlistOverrideUnknown28 | unk | No | Yes | Used 409 times in PS3 4.76 ofw with values: see below (mlistOverridePositionX with values from XMB Layouts ?) | |
mlistOverrideUnknown29 | unk | No | Yes | Used 409 times in PS3 4.76 ofw with values: see below (mlistOverridePositionY with values from XMB Layouts ?) | |
mlistOverrideUnknown30 | unk | No | Yes | Used 409 times in PS3 4.76 ofw with values: see below (mlistOverridePositionZ with values from XMB Layouts ?) | |
mlistImage | image | Yes | Yes | image:tex_default_text_focus | Loads a image from ImageTree |
mlistOnPush | event | Yes | Yes | event:native:/OnSettingPagePushList | Triggers an event, see RCOXML Coding |
mlistOnCursorMove | event | Yes | Yes | event:native:/OnSettingPageCursorMoveList | |
mlistOnFocusIn | event | Yes | Yes | event:native:/Bookmark::onBookmarkListFocusIn | |
mlistOnFocusOut | event | Yes | Yes | event:native:/Menu::cbFocusOut | |
mlistOnFocusLeft | event | Yes | Yes | event:native:/Menu::cbFocusLeft | |
mlistOnFocusRight | event | Yes | Yes | event:native:/Menu::cbFocusRight | |
mlistOnFocusUp | event | Yes | Yes | event:native:/Menu::cbFocusUp | |
mlistOnFocusDown | event | Yes | Yes | event:native:/cbFocusDown | |
mlistOnScrollIn | event | Yes | Yes | event:native:/cbScrollIn | |
mlistOnScrollOut | event | Yes | Yes | event:native:/cbScrollOut |
- mlistItemsCount (extracted as data type "unk")
- Used 409 times in PS3 4.76 ofw with values: 0x17000000 (1 time), 0x16000000 (1 time), 0x15000000 (127 times), 0x12000000 (14 times), 0x10000000 (4 times), 0xe000000 (31 times), 0xc000000 (5 times), 0xa000000 (2 times), 0x9000000 (5 times), 0x8000000 (6 times), 0x7000000 (20 times), 0x6000000 (104 times), 0x5000000 (3 times), 0x4000000 (9 times), 0x3000000 (13 times), 0x2000000 (39 times), 0x1000000 (20 times), 0x0 (5 times)
- mlistItemDefault (extracted as data type "int")
- mlistItemSpacing (extracted as data type "float")
- mlistOverrideUnknown28 (extracted as data type "unk")
- "0x0" (333 times), "0x4c090100" (6 times), "0x7f090100" (1 times), "0x1f070100" (8 times), "0x1f070000" (14 times), "0x69070000" (39 times), "0xc4040000" (8 times)
- mlistOverrideUnknown29 (extracted as data type "unk")
- "0x0" (208 times), "0x95080000" (1 time), "0xdc050000" (1 time), "0xe7050000" (2 times), "0xe0050000" (1 time), "0x3a040000" (4 times), "0x83040000" (2 times), "0x7f030000" (125 times), "0x87040000" (2 times), "0xc7020000" (1 time), "0xfc010000" (15 times), "0x21030000" (2 times), "0x1e030000" (5 times), "0x3f040000" (2 times), "0x20070000" (4 times), "0x63070000" (31 times), "0xbf070000" (2 times), "0x8f030000" (1 time)
- mlistOverrideUnknown30 (extracted as data type "unk")
- "0x0" (282 times), "0xe8050000" (2 times), "0x80030000" (125 times)
(0x08 0x13) LList
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
llistUnknownInt23 | int | Yes | Yes | 0x6 | Unknown. Used 8 times in PSP 6.61 ofw with values: "0x2" (5 times), "0x5" (3 times) Unknown. Used 1 time in PS3 4.76 ofw with value: "0x6" (llistItemsCount ?) |
llistUnknown24 | unk | Yes | Yes | 0x0 | Unknown. Used 8 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1 time in PS3 4.76 ofw with value: "0x0" |
llistUnknownFloat25 | float | Yes | Yes | 42 | Unknown. Used 8 times in PSP 6.61 ofw with values: "0" (1 time), "24" (3 times), "42" (4 times) Unknown. Used 1 time in PS3 4.76 ofw with value: "0" |
llistOverrideUnknown26 | unk | No | Yes | Used 1 time in PS3 4.76 ofw with value: "0x0" (llistOverrideSomething with values from XMB Layouts ?) | |
llistOverrideUnknown27 | unk | No | Yes | Used 1 time in PS3 4.76 ofw with value: "0x3a040000" (llistOverrideSomething with values from XMB Layouts ?) | |
llistUnknownEvent28 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusIn ?) | |
llistUnknownEvent30 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusOut ?) | |
llistUnknownEvent32 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusLeft ?) | |
llistUnknownEvent34 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusRight ?) | |
llistUnknownEvent36 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusUp ?) | |
llistUnknownEvent38 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnFocusDown ?) | |
llistOnScrollIn | event | Yes | Yes | event:native:/LD event:native:/OnScrollInListEdyViewer |
Triggers an event, see RCOXML Coding |
llistUnknownRef42 | event | Yes | Yes | Unknown. Used 8 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 1 time in PS3 4.76 ofw with value: "nothing" (llistOnScrollOut ?) |
(0x08 0x17) IList
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
ilistUnknownFloat23 | float | Yes | Yes | 24 | Unknown. Used 41 times in PSP 6.61 ofw with values: "0" (30 times), "20" (6 times), "24" (5 times) Unknown. Used 54 times in PS3 4.76 ofw with value: "0x0" |
ilistOverrideUnknown24 | unk | No | Yes | Used 54 times in PS3 4.76 ofw with values: "0x0" (53 times), or "0x80090100" (1 time) (ilistOverrideSomething ?) | |
ilistUnknownRef25 | ref | Yes | Yes | Unknown. Used 41 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 54 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named OnFocusIn) | |
ilistUnknownRef27 | ref | Yes | Yes | Unknown. Used 41 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 54 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named OnFocusOut) | |
ilistOnFocusLeft | event | Yes | Yes | event:native:/OnFocusLeftFirstConfig event:native:/EulaLicensingWizard::onFocusLeft |
Triggers an event, see RCOXML Coding |
ilistOnFocusRight | event | Yes | Yes | event:native:/NY event:native:/EulaLicensingWizard::onFocusRight | |
ilistUnknownRef33 | ref | No | Yes | Used 54 times in PS3 4.76 ofw with value: "nothing". (ilistOnFocusUp ?) | |
ilistOnFocusDown | event | No | Yes | event:native:/ConsoleAutoPowerOffPage::OnFocusDownIlist | Triggers an event, see RCOXML Coding |
ilistOnPush | event | No | Yes | event:native:/OnPushIlistBtDeviceManager | maybe OnPush is replacing an event here |
- PS3 has 4 more attributes than PSP, one seems to be a XMB Layouts override but the others are not so obvious where are located, the PSP "IList" specific attributes are copyed below for comparison purposes
unknownFloat16 = float onFocusIn = event onFocusOut = event onFocusLeft = event onFocusRight = event
(0x08 0x1C) CheckboxGroup
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | Research notes (partially speculative) | ||||
---|---|---|---|---|---|---|
Name | Type | Examples | ||||
checkboxgroupUnknownInt23 | int | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (1 time), "0x1" (11 times), "0x2" (2 times), "0x6" (1 time), "0xa" (7 times), "0x14" (1 time). (checkboxgroupItemsCount ?) | |
checkboxgroupUnknown24 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (all) | |
checkboxgroupUnknown25 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0xffffffff" (all) | |
checkboxgroupUnknown26 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (all) | |
checkboxgroupUnknown27 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (all) | |
checkboxgroupUnknown28 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (all) | |
checkboxgroupUnknown29 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (16 times), "0x17040000" (7 times). (checkboxgroupOverrideSomething) | |
checkboxgroupUnknown30 | unk | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "0x0" (all) | |
checkboxgroupUnknownRef31 | ref | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "nothing" (all). (probably another event) | |
checkboxgroupOnPush | event | No | Yes | event:native:/VideoEditorUpload::ServiceLogin::OnPushSavePassword | Triggers an event, see RCOXML Coding | |
checkboxgroupOnCursorMove | event | No | Yes | event:native:/OnCursorMoveClistCoreDumpUtility | ||
checkboxgroupOnFocusIn | event | No | Yes | event:native:/OnFocusInClistRegPSVitaConfig | ||
checkboxgroupOnFocusOut | event | No | Yes | event:native:/OnFocusOutClistRegPSVitaConfig | ||
checkboxgroupOnFocusLeft | event | No | Yes | event:native:/onFocusLeftUpdaterSelectList | ||
checkboxgroupOnFocusRight | event | No | Yes | event:native:/OnFocusRightClistDisplayOutputConfig | ||
checkboxgroupOnFocusUp | event | No | Yes | event:native:/onFocusUpUpdaterSelectList | ||
checkboxgroupOnFocusDown | event | No | Yes | event:native:/UIManager::OnFocusDownCBListShareTrophies | ||
checkboxgroupOnScrollIn | event | No | Yes | event:native:/OnScrollInClistDisplayOutputConfig | ||
checkboxgroupUnknownRef51 | ref | No | Yes | ? | Used 23 times in PS3 4.76 ofw with values: "nothing" (all). (checkboxgroupOnScrollOut ?) |
- OnPush usually is doubtfull because replaces other events, but the attribute named checkboxgroupOnPush seems to be an OnPush for sure
- checkboxgroupOverrideUnknown29 is too long name, it generates a broken rcoxml with the next attribute overlapped like this: checkboxgroupOverrideUnknown29checkboxgroupUnknown30="0x0"
Menu items
(0x08 0x05) XMList
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
xmlistUnknown0 | unk | Yes | Yes | 0x0 | Unknown. Used 8 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 20 times in PS3 4.76 ofw with value: "0x0" |
xmlistImage | image | Yes | Yes | image:tex_game | Loads a image from ImageTree |
xmlistText | text | Yes | Yes | text:msg_game | Loads a text from TextTree |
(0x08 0x0C) XItem
(0x08 0x0A) MItem
(0x08 0x14) LItem
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
litemText | text | Yes | Yes | text:msg_wifi_sp_pswd | Loads a text from TextTree |
litemUnknownRef2 | ref | Yes | Yes | Used 15 times in PSP 6.61 ofw with value: "nothing" Used 0 times in PS3 4.76 ofw | |
litemUnknownRef4 | ref | Yes | Yes | Used 15 times in PSP 6.61 ofw with value: "nothing" Used 0 times in PS3 4.76 ofw |
(0x08 0x18) IItem
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
iitemUnknown1 | unk | No | Yes | 0x0 | Used 136 times in PS3 4.76 ofw with value: "0x0" |
iitemText | text | Yes | Yes | text:msgupdater_dot text:msg_edy_driver_version |
Loads a text from TextTree |
iitemTextAlt | text | Yes | Yes | text:msglftv_settings_easy_start2 text:msg_info_none |
(0x08 0x1D) CheckboxItem
(0x08 0x19) Icon
Object not used in PS3 firmware
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
iconImageBase | image | Yes | Yes | image:tex_album_icon | Loads a image from ImageTree |
iconImageShadow | image | Yes | Yes | image:tex_album_icon_shadow | |
iconUnknownImage27 | image | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 0 times in PS3 4.76 ofw (iconImageFocus ?) |
Text based
(0x08 0x0D) Text
Some of the "specific object attributes" from text seems to be similar than the "standard object attributes" (color scalers)
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
textMessage | text | Yes | Yes | text:msg_pw_changed | Loads a text from TextTree |
textFontstyle | font | Yes | Yes | font:fontstyle_light | Loads a font from FontTree |
textFontstyleMode | unk | Yes | Yes | 0x1010101 | See below |
textUnknown29 | unk | Yes | Yes | 0x1 | Unknown. Used 1357 times in PSP 6.61 ofw with values: "0x0" (871 times), "0x1" (486 times) Unknown. Used 1305 times in PS3 4.76 ofw with values: "0x0" (30 times), "0x1" (1275 times) |
textFontSize | float | Yes | Yes | 10 | Font Y size in pixels, values found in PS3 4.76 ofw: "0", "7.605", "8.19", "10" |
textTopColorScaleR | float | Yes | Yes | 1 | Text top, color channels scaler (scale 0-1), values found in PS3 4.76 ofw: "0", "0.5", "1" |
textTopColorScaleG | float | Yes | Yes | 1 | |
textTopColorScaleB | float | Yes | Yes | 1 | |
textBottomColorScaleR | float | Yes | Yes | 0.5 | Text bottom, color channels scaler (scale 0-1), values found in PS3 4.76 ofw: "0", "0.5", "1" |
textBottomColorScaleG | float | Yes | Yes | 0.5 | |
textBottomColorScaleB | float | Yes | Yes | 0.5 | |
textLineSpacing | float | Yes | Yes | 0 | in pixels, line spacing margin of ? (bad google translation). |
textUnknown37 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (somethingX or somethingRed ?) | |
textUnknown38 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (somethingY or somethingGreen ?) | |
textUnknown39 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (somethingZ or somethingBlue ?) | |
textCharacterSpacing | float | Yes | Yes | 2 | in pixels, values found in PS3 4.76 ofw: "0", "2", margin between character ? (bad google translation). |
textShadowOffsetX | float | Yes | Yes | 4 | Text shadow effect displacement, in pixels, values found in PS3 4.76 ofw: "0", "4", "-5" |
textShadowOffsetY | float | Yes | Yes | -5 | |
textShadowOffsetZ | float | Yes | Yes | 0 | |
textShadowColorScaleR | float | Yes | Yes | 0.25 | Text shadow effect color channels scaler (scale 0-1), in pixels, values found in PS3 4.76 ofw: "0", "0.25", "0.9", "1" |
textShadowColorScaleG | float | Yes | Yes | 0.25 | |
textShadowColorScaleB | float | Yes | Yes | 0.25 | |
textShadowColorScaleA | float | Yes | Yes | 1 | |
textUnknown48 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (textFocusOffsetX with data type "float" ?) | |
textUnknown49 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (textFocusOffsetY with data type "float" ?) | |
textUnknown50 | unk | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 1305 times in PS3 4.76 ofw with value: "0x0". (textFocusOffsetZ with data type "float" ?) | |
textUnknownFloat51 | float | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "1" Unknown. Used 1305 times in PS3 4.76 ofw with value: "1". (textFocusColorScaleR ?) | |
textUnknownFloat52 | float | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "1" Unknown. Used 1305 times in PS3 4.76 ofw with value: "1". (textFocusColorScaleG ?) | |
textUnknownFloat53 | float | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "1" Unknown. Used 1305 times in PS3 4.76 ofw with value: "1". (textFocusColorScaleB ?) | |
textUnknownFloat54 | float | Yes | Yes | Unknown. Used 1357 times in PSP 6.61 ofw with value: "1" Unknown. Used 1305 times in PS3 4.76 ofw with value: "1". (textFocusColorScaleA ?) | |
textResizeMode | int | Yes | Yes | See below | |
textOverrideUnknown56 | unk | No | Yes | Used 1305 times in PS3 4.76 ofw with values: more info below the table (textOverridePositionX ?. Overrides stdPositionX value with a XMB Layouts reference ?) | |
textOverrideUnknown57 | unk | No | Yes | Used 1305 times in PS3 4.76 ofw with values: more info below the table (textOverridePositionY ?. Overrides stdPositionY value with a XMB Layouts reference ?) | |
textOverrideUnknown58 | unk | No | Yes | Used 1305 times in PS3 4.76 ofw with values "0x0" (all). (textOverridePositionZ ?. Overrides stdPositionZ value with a XMB Layouts reference ?) |
- PS3 texts has a "tilt" effect that increases and decreases the light reflect every 2 seconds or so... probably this tilt effect is defined by one of the "unknowns", and/or maybe the 7 unknowns labeled as "focus" are actually the "shining glow effects" (offset, and color scaler)
- textUnknown27 valid values extracted as data type "unk", found in PS3 4.76 ofw (looks like textFontstyleMode for italic, bold, underlined, etc... ?). It seems there is a total of 12 posible values, the byte most at left is always 1, the byte most at right allows for 3 values: 0,1,2 and the others are flags
- Used 1305 times in PS3 4.76 ofw with values:
- "0x1000000" (351 times)
- "0x1000001" (384 times)
- "0x1000100" (246 times)
- "0x1000101" (148 times)
- "0x1010000" (3 times)
- "0x1010001" (70 times)
- "0x1010101" (3 times)
- "0x1000002" (96 times)
- "0x1000102" (4 times)
- Used 1357 times in PSP 6.61 ofw with values:
- "0x1000000" (415 times)
- "0x1000001" (240 times)
- "0x1000100" (27 times)
- "0x1000101" (325 times)
- "0x1010000" (19 times)
- "0x1010001" (279 times)
- "0x1010101" (14 times)
- "0x1000002" (21 times)
- "0x1000102" (14 times)
- "0x1010002" (3 times)
- Used 1305 times in PS3 4.76 ofw with values:
- textResizeMode
- Seems to use the same "ResizeMode" than "plane" object, By return, 0x0 is width, height dependent, 0xffffffff size ignored (bad google translation)
- Used 1305 times in PS3 4.76 ofw with values: "0xffffffff" (719 times), "0x0" (586 times)
- Used 1357 times in PSP 6.61 ofw with values: "0xffffffff" (600 times), "0x0" (757 times)
- textOverrideUnknown56 valid values extracted as data type "int", found in PS3 4.76 ofw (valid but pointless because needs to be extracted as "unk" and i dont care in converting them, was just random examples)
- "0x3", "0x13", "0x14", "0x15", "0x17", "0x10013", "0x10014", "0x10015", "0x10016", "0x5f2", "0x5f5", "0x6bd", "0x6d7", etc...
- textOverrideUnknown57 valid values extracted as data type "int", found in PS3 4.76 ofw (valid but pointless because needs to be extracted as "unk" and i dont care in converting them, was just random examples)
- 0x3" (1235 times), "0x1be" (2 times), "0x1039a" (19 times), "0x10b48" (4 times), "0x10f77" (2 times), etc...
(0x08 0x1F) EditBox
It seems "EditBox" object uses the same attributes than "Text" object + 2 images + 7 events. For this reason the info about "EditBox" object in this wiki page is abandoned by now
(0x08 0x10) Action
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | Research notes (partially speculative) | ||||
---|---|---|---|---|---|---|
Name | Type | Examples | ||||
actionText | text | Yes | Yes | text:msg_on |
Buttons
(0x08 0x03) Button
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
buttonImageBase | image | Yes | Yes | image:tex_cp_volume | Loads a image from ImageTree |
buttonImageShadow | image | Yes | Yes | image:tex_cp_volume_shadow | |
buttonImageFocus | image | Yes | Yes | image:tex_cp_volume_focus | |
buttonText | text | Yes | Yes | text:msg_ok | Loads a text from TextTree |
buttonOnPush | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnVolumeButtonPush | Triggers an event, see RCOXML Coding |
buttonOnFocusIn | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnViewControlPanelButtonFocusIn | |
buttonOnFocusOut | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnViewControlPanelButtonFocusOut | |
buttonOnFocusLeft | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnControlPanelButtonFocusNaviLeft | |
buttonOnFocusRight | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnControlPanelButtonFocusNaviRight | |
buttonOnFocusUp | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnControlPanelButtonFocusNaviUp | |
buttonOnFocusDown | event | Yes | Yes | event:native:/AudioPlayerPlugin::OnControlPanelButtonFocusNaviDown | |
buttonOnContext | event | Yes | Yes | event:native:/VideoEditorUpload::ServiceSelect::OnContextMenuButton1 | |
buttonUnknownInt47 | int | Yes | Yes | 0x0 | Unknown. Used 738 times in PSP 6.61 ofw with values: "0x0" (572 times), or "0xffffffff" (166 times) Unknown. Used 624 times in PS3 4.76 ofw with values: "0x0" (560 times), or "0xffffffff" (64 times) |
- buttonUnknownInt47
- In PSP 6.61 the file lftv_tuner_jp_jp.rco is made with only 3 kind of objects: "page", "plane" and "button" (there are actually 98 button objects), all the buttons loads an "event:script:" from the VSMX script inside the .rco and are using the same exact names than the "event:native:" in all other objects (so follows the standard names). But inside the script there is an event named "onTimerFadeButtonTexture" that doesnt appears anywhere so maybe the buttonUnknownInt47 is an buttonTimer
(0x08 0x1A) UButton
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Bars
(0x08 0x07) Progress
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
progressUnknownFloat23 | float | Yes | Yes | 100 | Unknown. Used 17 times in PSP 6.61 ofw with values: "100" (16 times), "1" (1 time) Unknown. Used 52 times in PS3 4.76 ofw with values: "100" (50 times), "1" (2 times) |
progressUnknownFloat24 | float | Yes | Yes | 1 | Unknown. Used 17 times in PSP 6.61 ofw with value: "0" Unknown. Used 52 times in PS3 4.76 ofw with value: "0" |
progressBarImageBase | image | Yes | Yes | image:tex_progress_bar image:tex_default_progress_base |
Loads a image from ImageTree |
progressBarImageSlider | image | Yes | Yes | image:tex_progress_bar_in image:tex_default_progress_slider | |
progressBarImageShadow | image | Yes | Yes | Used 17 times in PSP 6.61 ofw with value: "nothing" Used 52 times in PS3 4.76 ofw with value: "nothing" |
- progressUnknownFloat24
- "1" is a valid value (with data type "float"), found in sysconf_plugin.rco from PS3 firmware 1.02
(0x08 0x08) Scroll
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
scrollUnknownFloat23 | float | Yes | Yes | 100 | Unknown. Used 70 times in PSP 6.61 ofw with value: "100" Unknown. Used 88 times in PS3 4.76 ofw with value: "100" |
scrollUnknownFloat24 | float | Yes | Yes | 100 | Unknown. Used 70 times in PSP 6.61 ofw with value: "100" Unknown. Used 88 times in PS3 4.76 ofw with value: "100" |
scrollUnknown25 | unk | Yes | Yes | 0x0 | Unknown. Used 70 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 88 times in PS3 4.76 ofw with value: "0x0" |
scrollImageBase | image | Yes | Yes | image:scroll_base | Loads a image from ImageTree |
scrollImageSlider | image | Yes | Yes | image:scroll_slider | |
scrollImageArrow | image | Yes | Yes | image:scroll_arrow_up | |
scrollImageBaseShadow | image | Yes | Yes | image:scroll_base_shadow | |
scrollImageArrowShadow | image | Yes | Yes | image:scroll_arrow_up_shadow |
Spins
(0x08 0x0F) Spin
Most attributes from "Spin" object are similar than "ItemSpin" object
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
spinUnknown23 | unk | Yes | Yes | 0x0 | Unknown. Used 20 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 13 times in PS3 4.76 ofw with value: "0x0" |
spinUnknown24 | unk | Yes | Yes | 0x1 | Unknown. Used 20 times in PSP 6.61 ofw with values: "0x0" (9 times), "0x1" (11 times) Unknown. Used 13 times in PS3 4.76 ofw with values: "0x0" (10 times), "0x1" (1 time), "0x100" (2 times) |
spinUnknownImage25 | image | Yes | Yes | Unknown. Used 20 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 13 times in PS3 4.76 ofw with value: "nothing". (spinImageBase ?) | |
spinUnknownImage27 | image | Yes | Yes | Unknown. Used 20 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 13 times in PS3 4.76 ofw with values: "nothing". (spinImageShadow ?) | |
spinOnDecide | event | Yes | Yes | event:native:/OnDecideCaptionDuration | Triggers an event, see RCOXML Coding |
spinOnCancel | event | Yes | Yes | event:native:/OnCancelCaptionDuration | |
spinOnRollIn | event | Yes | Yes | event:native:/OnRollInSpinHdmiDetect | |
spinUnknownRef35 | event | Yes | Yes | Unknown. Used 20 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 13 times in PS3 4.76 ofw with values: "nothing". (spinOnCursorMove ?) | |
spinOnFocusIn | event | Yes | Yes | event:native:/onFocusIn_premo_settings_connection_spin | Triggers an event, see RCOXML Coding |
spinOnFocusOut | event | Yes | Yes | event:native:/onFocusOut_premo_settings_connection_spin | |
spinOnFocusLeft | event | Yes | Yes | object2:lftv_page212_group000_ispin000 | |
spinOnFocusRight | event | Yes | Yes | object2:lftv_page212_group000_ispin001 | |
spinUnknown45 | event | No | Yes | object2:bdpui_imagequalistcontrol_fnr_spin | Used 13 times in PS3 4.76 ofw with values: "nothing" (all). (spinOnFocusUp ?) |
spinUnknown47 | event | No | Yes | object2:bdpui_imagequalistcontrol_bnr_spin | Used 13 times in PS3 4.76 ofw with values: "nothing" (all). (spinOnFocusDown ?) |
(0x08 0x11) ItemSpin
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
itemspinUnknownInt23 | int | Yes | Yes | 0x1 | Unknown. Used 29 times in PSP 6.61 ofw with values: "0x0" (23 times), "0x1" (6 times) Unknown. Used 17 times in PS3 4.76 ofw with values: "0x0" (11 times), "0x1" (5 times), "0x240" (1 time) |
itemspinUnknownInt24 | int | Yes | Yes | 0x5dc | See below |
itemspinUnknownInt25 | int | Yes | Yes | 0x3 | Unknown. Used 29 times in PSP 6.61 ofw with values: "0x0" (5 times), "0x1" (4 times), "0x2" (16 times), "0x3" (1 time), "0x4" (1 times), "0x6" (2 times) Unknown. Used 17 times in PS3 4.76 ofw with values: "0x0" (4 times), "0x1" (5 times), "0x2" (7 times), "0x3" (1 time) |
itemspinUnknownInt26 | int | Yes | Yes | 0x5dc | See below |
itemspinUnknown27 | unk | Yes | Yes | 0x101 | Unknown. Used 29 times in PSP 6.61 ofw with values: "0x0" (3 times), "0x1" (20 times), "0x101" (6 times) Unknown. Used 17 times in PS3 4.76 ofw with values: "0x1" (2 times), "0x100" (11 times), "0x101" (4 times) |
itemspinUnknownFloat28 | float | Yes | Yes | 32 | Unknown. Used 29 times in PSP 6.61 ofw with values: "0" (4 times), "9" (5 times), "11" (19 times), "13" (1 time) Unknown. Used 17 times in PS3 4.76 ofw with values: "0" (7 times), "11" (5 times), "13" (1 time), "16" (1 time), "32" (3 times) |
itemspinUnknownImage29 | image | Yes | Yes | Unknown. Used 29 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 17 times in PS3 4.76 ofw with value: "nothing". (itemspinImageBase ?) | |
itemspinUnknownImage31 | image | Yes | Yes | Unknown. Used 29 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 17 times in PS3 4.76 ofw with value: "nothing". (itemspinImageShadow ?) | |
itemspinOnDecide | event | Yes | Yes | event:native:/OnTitleJumpSpinDecide | Triggers an event, see RCOXML Coding |
itemspinOnCancel | event | Yes | Yes | event:native:/OnTitleJumpSpinCancel | |
itemspinOnRollIn | event | Yes | Yes | event:native:/OnRollInSpinSecurityConfigPassword | |
itemspinUnknownRef39 | event | Yes | Yes | Unknown. Used 29 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 17 times in PS3 4.76 ofw with value: "nothing". (itemspinOnCursorMove ?) | |
itemspinOnFocusIn | event | Yes | Yes | event:native:/OnPageVideoPlayerTimeJumpFocusIn | Triggers an event, see RCOXML Coding |
itemspinOnFocusOut | event | Yes | Yes | event:native:/OnPageVideoPlayerTimeJumpFocusOut | |
itemspinOnFocusLeft | event | Yes | Yes | event:native:/OnFocusLeftNumSpinWizardEventHandler object2:hour_spin | |
itemspinOnFocusRight | event | Yes | Yes | event:native:/OnFocusRightNumSpinWizardEventHandler object2:second_spin | |
itemspinUnknown49 | event | No | Yes | Used 17 times in PS3 4.76 ofw with value: "nothing". (itemspinOnFocusUp ?) | |
itemspinUnknown51 | event | No | Yes | Used 17 times in PS3 4.76 ofw with values: "nothing". (itemspinOnFocusDown ?) |
- itemspinUnknownInt24. The number that can be selected (bad google translation)
- Unknown. Used 17 times in PS3 4.76 ofw with values: "0x7" (1 time), "0x9" (4 times), "0xa" (1 time), "0x3b" (2 times), "0x63" (4 times), "0xfe" (1 time), "0x3e7" (1 time), "0x3e8" (2 times), "0x5dc" (1 time)
- Unknown. Used 29 times in PSP 6.61 ofw with values: "0x9" (4 times), "0xc" (2 times), "0x17" (4 times), "0x1f" (2 times), "0x3b" (8 times), "0x63" (4 times), "0x3e7" (1 time), "0x270f" (2 times), "0x36ee7f" (2 times)
- itemspinUnknownInt26
- The value 0x5dc has been found in PS3 4.76 ofw used by UnknownInt24 and UnknownInt26. this seems to be a coincidence, but it means both are storing the value in the same format. 0x5dc converted to decimal = 1500. And 0x3e8 = 1000. Coincidence ? (it could be time meassure units in miliseconds)
Others
(0x08 0x0E) ModelObject
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
modelobjectName | model | Yes | Yes | model:mdl_bg | Loads a .gmo model from ModelTree |
- modelobjectName
- Used 0 times in PS3 4.76 ofw
- Used 3 times in PSP 6.61 ofw by:
- opening_plugin.rco (coldboot)
- system_plugin_bg.rco (internal theme)
- visualizer_plugin.rco (external theme)
(0x08 0x15) Edit
The "image" and "event" attributes from "edit object" seems to be the same than "clock object"
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
editUnknown23 | unk | Yes | Yes | 0x0 | Unknown. Used 7 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 9 times in PS3 4.76 ofw with value: "0x0" |
editUnknown24 | unk | Yes | Yes | 0x0 | Unknown. Used 7 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 9 times in PS3 4.76 ofw with value: "0x0" |
editUnknown25 | unk | Yes | Yes | 0x0 | Unknown. Used 7 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 9 times in PS3 4.76 ofw with value: "0x0" |
editUnknown26 | unk | Yes | Yes | 0x0 | Unknown. Used 7 times in PSP 6.61 ofw with value: "0x0" Unknown. Used 9 times in PS3 4.76 ofw with value: "0x0" |
editUnknownImage27 | image | Yes | Yes | Unknown. Used 7 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 9 times in PS3 4.76 ofw with value: "nothing". (editImageFrame ?) | |
editUnknownImage29 | image | Yes | Yes | Unknown. Used 7 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 9 times in PS3 4.76 ofw with value: "nothing". (editImageArrow ?) | |
editOnDecide | event | Yes | Yes | event:native:/onDecide_ipaddr_NetworkAddressSetIpaddress | Triggers an event, see RCOXML Coding |
editOnCancel | event | Yes | Yes | event:native:/onCancel_ipaddr_NetworkAddrSetting | |
editOnFocusIn | event | Yes | Yes | Unknown. Used 7 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 9 times in PS3 4.76 ofw with value: "nothing" | |
editOnFocusOut | event | Yes | Yes | Unknown. Used 7 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 9 times in PS3 4.76 ofw with value: "nothing" | |
editOnFocusLeft | event | Yes | Yes | event:native:/onFocusLeft_ipaddr_NetworkAddrSetting | Triggers an event, see RCOXML Coding |
editOnFocusRight | event | Yes | Yes | event:native:/onFocusRight_ipaddr_NetworkAddrSetting | |
editOnFocusUp | event | Yes | Yes | object2:ipaddr_network_address_setting_ipaddress | "object2" is replacing the event editOnFocusUp |
editOnFocusDown | event | Yes | Yes | object2:ipaddr_network_address_setting_defaultrooter | "object2" is replacing the event editOnFocusDown |
editOnTick | event | Yes | Yes | Unknown. Used 7 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 9 times in PS3 4.76 ofw with value: "nothing" |
(0x08 0x16) Clock
The "image" and "event" attributes from "edit object" seems to be the same than "clock object"
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
clockUnknown23 | unk | Yes | Yes | 0x1 | Unknown. Used 3 times in PSP 6.61 ofw with values: "0x0" (2 times), "0x1" (1 time) Unknown. Used 5 times in PS3 4.76 ofw with values: "0x0" (3 times), "0x1" (1 time), "0x2" (1 time) |
clockUnknownFloat24 | float | Yes | Yes | 200 | Unknown. Used 3 times in PSP 6.61 ofw with values: "100" (1 time), "200" (2 times) Unknown. Used 5 times in PS3 4.76 ofw with values: "100" (4 times), "200" (1 time) |
clockTextAm | text | Yes | Yes | text:msg_am | |
clockTextPm | text | Yes | Yes | text:msg_pm | |
clockUnknownRef29 | ref | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (clockImageFrame ?) | |
clockUnknownImage31 | image | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (clockImageArrow ?) | |
clockOnDecide | event | Yes | Yes | event:native:/OnDecideClockToolConfig | Triggers an event, see RCOXML Coding |
clockOnCancel | event | Yes | Yes | event:native:/OnCancelClockToolConfig | |
clockUnknownRef37 | ref | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named onFocusIn) | |
clockUnknownRef39 | ref | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named onFocusOut) | |
clockOnFocusLeft | event | Yes | Yes | event:native:/OnFocusLeftFirstConfig | Triggers an event, see RCOXML Coding |
clockOnFocusRight | event | Yes | Yes | event:native:/OnFocusRightFirstConfig | |
clockUnknownRef45 | ref | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named onFocusUp) | |
clockUnknownRef47 | ref | Yes | Yes | Unknown. Used 3 times in PSP 6.61 ofw with value: "nothing" Unknown. Used 5 times in PS3 4.76 ofw with value: "nothing". (on objattribdef-psp.ini is named onFocusDown) | |
clockOnTick | event | Yes | Yes | event:native:/OnTickClockFirstConfigSetDateTime event:native:/OnTickClockFirstConfig |
Triggers an event, see RCOXML Coding |
- clockUnknownFloat24
- This attribute is the most notable difference between "clock object" and "edit object" ("clock" uses it but "edit" doesnt), looks like a time gap in miliseconds (100 miliseconds = 1/10 seconds)
(0x08 0x1E) Meter
Is the volume bar for media players (videoplayer_plugin.rco, sacd_plugin.rco, bdp_plugin.rco, audioplayer_plugin.rco)
Attribute | How it works | ||||
---|---|---|---|---|---|
Name | Type | Examples | |||
PositionX | float | Yes | Yes | XYZ Position, in pixels | |
PositionY | float | Yes | Yes | ||
PositionZ | float | Yes | Yes | ||
ColorScaleR | float | Yes | Yes | RGBA Color Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
ColorScaleG | float | Yes | Yes | ||
ColorScaleB | float | Yes | Yes | ||
ColorScaleA | float | Yes | Yes | ||
SizeX | float | Yes | Yes | XYZ Size, in pixels | |
SizeY | float | Yes | Yes | ||
SizeZ | float | Yes | Yes | ||
SizeScaleX | float | Yes | Yes | XYZ Size Scale (multiplyer, 1 original, smaller than 1 reduced, bigger than 1 increased) | |
SizeScaleY | float | Yes | Yes | ||
SizeScaleZ | float | Yes | Yes | ||
AnchorMode | int | Yes | Yes | Partially unknown | |
OnInit | event | Yes | Yes | Triggers an event | |
PositionOverrideX | unk | No | Yes | XYZ Position Override with values from XMB Layouts | |
PositionOverrideY | unk | No | Yes | ||
PositionOverrideZ | unk | No | Yes | ||
SizeOverrideX | unk | No | Yes | XYZ Size Override with values from XMB Layouts | |
SizeOverrideY | unk | No | Yes | ||
SizeOverrideZ | unk | No | Yes |
- First and third attributes uses the weird value 0xfcffffff that could be an integer (and looks like flags), after reversing the bytes is 0xfffffffc, and after converted to binary = 1111 1111 1111 1111 1111 1111 1111 1100
Unknown
(0x08 0x0B) ObjUnknown0xB
(0x08 0x1B) ObjUnknown0x1B
|