Talk:RCOXML Objects: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (moved from frontpage, since this suggested names never was changed for wiki, this fits better on talk page by now)
Line 1: Line 1:
=Menu lists=
{| class="wikitable"
|-
! rowspan="2" | <abbr title="in big endian for PS3">Type</abbr> !! colspan="4" | Name !! rowspan="2" | Displayed as !! rowspan="2" | Notes
|-
! <abbr title="suggested name, trying to be most intuitive posible">in Wiki</abbr> !! <abbr title="invented based on oficial labels">In rcomage</abbr> !! <abbr title="found by reading the labels, it could not be accurate though because official coders had the freedom to use any invented name">In official RCOXML code</abbr> !! <abbr title="this seems to be the best place to get the internal names">In official [[VSH Exports]]</abbr>
|-{{cellcolors|lightgrey}}
| colspan="7" |
|-
| 0x08 0x04 || '''XMenuHList''' || {{cellcolors|#ff9999}} <abbr title="following the naming convention of the others this is a list">XMenu</abbr> || {{cellcolors|#ff9999}} <abbr title="Found in PSP firmware 1.00 following the naming convention of the others this is a list">name="xmenu"</abbr> || <abbr title="PhXmBar">XmBar</abbr> || XMB Main Menu, horizontal list placeholder || rowspan="2" | Main XMB icons
|-
| 0x08 0x05 || '''XMenuHItem''' || {{cellcolors|#ff9999}} <abbr title="is an item, not a list">XMList</abbr> || {{cellcolors|#ff9999}} <abbr title="Found in PSP firmware 1.00 is an item, not a list">name="list_sysconf"</abbr> || <abbr title="PhXmList">XmList</abbr> || XMB Main Menu, horizontal list item
|-
| 0x08 0x06 || '''XMenuVList''' || XList || <abbr title="Found in PSP firmware 1.00">name="xlist_video_config"</abbr> || || XMB Main Menu, vertical list placeholder || rowspan="2" | XMB categories
|-
| {{cellcolors|#ff9999}} <abbr title="see ObjUnknown0xB">0x08 0x0C</abbr> || '''XMenuVItem''' || XItem || <abbr title="Found in PSP firmware 1.00">name="item_xlist_video_config_volume"</abbr> || || XMB Main Menu, vertical list item
|-{{cellcolors|lightgrey}}
| colspan="7" |
|-
| 0x08 0x09 || '''ContextVList''' || MList || <abbr title="Found in PS3 firmware 4.76">name="mlist_select_update_method"</abbr> || <abbr title="PhMenuList">MenuList</abbr> || Context Menu, vertical list placeholder ||rowspan="2" | Menu when pressing triangle<br>at right side of the screen
|-
| 0x08 0x0A || '''ContextVItem''' || MItem || <abbr title="Found in PS3 firmware 4.76">name="mitem_select_network"</abbr> || || Context Menu, vertical list item
|-{{cellcolors|lightgrey}}
| colspan="7" |
|-
| 0x08 0x13 || '''EditHList''' || LList || <abbr title="Found in PSP firmware 1.00">name="list_edit_apcnf7"</abbr> || <abbr title="PhList">List</abbr> || Editable Menu, horizontal list placeholder || rowspan="2" | Like in network settings
|-
| 0x08 0x14 || '''EditHItem''' || LItem || <abbr title="Found in PSP firmware 1.00">name="litem_edit_apcnf7_0"</abbr> || || Editable Menu, horizontal list item
|-{{cellcolors|lightgrey}}
| colspan="7" |
|-
| 0x08 0x17 || '''InfoVList''' || IList || <abbr title="Found in PSP firmware 1.00">name="ilist_ms_info"</abbr> || <abbr title="PhInfoList">InfoList</abbr> || Information Menu, vertical list placeholder || rowspan="2" | Like in audio file info
|-
| 0x08 0x18 || '''InfoVItem''' || IItem || <abbr title="Found in PSP firmware 1.00">name="item_ms_info_size"</abbr> || || Information Menu, vertical list item
|-{{cellcolors|lightgrey}}
| colspan="7" |
|-
| 0x08 0x1C || '''CheckHList''' || {{cellcolors|#ff9999}} <abbr title="following the naming convention of the others this is a list, not a group, sometimes appears in the official labels as '''clist'''">CheckboxGroup</abbr> || <abbr title="Found in PS3 firmware 4.76, is a list, not a group">name="checkbox_list_npsignin"</abbr> || <abbr title="PhCheckBoxList">CheckBoxList</abbr> || Checkbox Menu, horizontal list placeholder || rowspan="2" | Like in poweroff screen
|-
| 0x08 0x1D || '''CheckHItem''' || CheckboxItem || <abbr title="Found in PS3 firmware 4.76">name="checkbox_item_select_auto_power_off"</abbr> || <abbr title="PhCheckBox">CheckBox</abbr> ? || Checkbox Menu, horizontal list item
|}
*Problematic names and values are marked in red
=WidgetType=
=WidgetType=
See the "paf" [[VSH Exports]]
See the "paf" [[VSH Exports]]

Revision as of 16:23, 28 March 2018

Menu lists

Type Name Displayed as Notes
in Wiki In rcomage In official RCOXML code In official VSH Exports
0x08 0x04 XMenuHList XMenu name="xmenu" XmBar XMB Main Menu, horizontal list placeholder Main XMB icons
0x08 0x05 XMenuHItem XMList name="list_sysconf" XmList XMB Main Menu, horizontal list item
0x08 0x06 XMenuVList XList name="xlist_video_config" XMB Main Menu, vertical list placeholder XMB categories
0x08 0x0C XMenuVItem XItem name="item_xlist_video_config_volume" XMB Main Menu, vertical list item
0x08 0x09 ContextVList MList name="mlist_select_update_method" MenuList Context Menu, vertical list placeholder Menu when pressing triangle
at right side of the screen
0x08 0x0A ContextVItem MItem name="mitem_select_network" Context Menu, vertical list item
0x08 0x13 EditHList LList name="list_edit_apcnf7" List Editable Menu, horizontal list placeholder Like in network settings
0x08 0x14 EditHItem LItem name="litem_edit_apcnf7_0" Editable Menu, horizontal list item
0x08 0x17 InfoVList IList name="ilist_ms_info" InfoList Information Menu, vertical list placeholder Like in audio file info
0x08 0x18 InfoVItem IItem name="item_ms_info_size" Information Menu, vertical list item
0x08 0x1C CheckHList CheckboxGroup name="checkbox_list_npsignin" CheckBoxList Checkbox Menu, horizontal list placeholder Like in poweroff screen
0x08 0x1D CheckHItem CheckboxItem name="checkbox_item_select_auto_power_off" CheckBox ? Checkbox Menu, horizontal list item
  • Problematic names and values are marked in red

WidgetType

See the "paf" VSH Exports

It seems the WidgetType is an identifyer of what rcomage and this wiki page baptished as "objects". Of all them, or only a group

By looking at the internal RCO structure is obvious that the value used internally to identify every "object" is the first field of what we has been naming Template:RCO TOC entry common area, or in other words, the Template:RCO TOC entry types

So the question is... all "RCO TOC entry types" should be considered WidgetType ? (and consequentlly needed to be renamed in wiki pages)... or only a group of them are considered "widgets" ? and there is other group (no idea wich one by now, but RCOXML Animations could have a different name)

By looking at this list is posible to make a list of the exports that uses the keyword "WidgetType" and deduce the correspondency with the names we have been using in rcomage/wiki. Some of the "unnofficial" names we have been using matches exactlly, others partially, and there are a few "new" names hard to deduce to wich "object" corresponds, and probably are included the 2 infamous ObjUnknown0xB and ObjUnknown0x1B that are completlly unknown for rcomage and doesnt seems to be used in any of the official PSP and PS3 firmwares

VSH Exports string chunk name in RCOmage type ID Notes
ZN3paf8PhWidget10WidgetTypeEv ? ? weird, a WidgetType named Widget ?... this sounds too generic, maybe is the name of the "ObjectTree"
ZN3paf7PhScene10WidgetTypeEv Page ? 0x1 ?
ZN3paf7PhPlane10WidgetTypeEv Plane 0x02
0xE36C18F5 (returns PhPlaneDiv) ? ? only appears in the VSH Exports page in wiki, not in the github list
ZN3paf8PhButton10WidgetTypeEv Button 0x03
ZN3paf6PhText10WidgetTypeEv Text 0x0D
ZN3paf8PhScroll10WidgetTypeEv Scroll 0x08
ZN3paf11PhLabelPrim10WidgetTypeEv ? ? candidate to be ObjUnknown0xB or ObjUnknown0x1B
ZN3paf12PhLevelMeter10WidgetTypeEv Meter 0x1E
ZN3paf10PhProgress10WidgetTypeEv Progress 0x07
ZN3paf10PhCheckBox10WidgetTypeEv CheckBoxItem 0x1D
ZN3paf7PhXmBar10WidgetTypeEv XMenu ? 0x04 ?
ZN3paf8PhXmList10WidgetTypeEv XMList ? 0x05 ?
ZN3paf8PhXmItem10WidgetTypeEv ? ?
ZN3paf10PhItemSpin10WidgetTypeEv ItemSpin 0x11
ZN3paf9PhNumSpin10WidgetTypeEv Spin ? 0x0F ?
ZN3paf6PhList10WidgetTypeEv LList 0x013
ZN3paf10PhInfoList10WidgetTypeEv IList 0x17
ZN3paf10PhMenuList10WidgetTypeEv MList 0x09
ZN3paf14PhCheckBoxList10WidgetTypeEv CheckBoxGroup 0x1C
ZN3paf11PhLabelText10WidgetTypeEv EditBox ? 0x1F ?
ZN3paf7PhClock10WidgetTypeEv Clock 0x16
ZN3paf8PhIPAddr10WidgetTypeEv ? ? candidate to be ObjUnknown0xB or ObjUnknown0x1B. A widget only to display the IP address ?
  • Other unnofficial "object" names that are not in the table:
    • General
      • type=0x00 ObjectTree
      • type=0x12 Group
    • Lists and Items
      • type=0x06 XList
      • type=0x0C XItem
      • type=0x0A MItem
      • type=0x14 LItem
      • type=0x18 IItem
    • Others
      • type=0x19 Icon
      • type=0x10 Action
      • type=0x1A UButton
      • type=0x0E ModelObject
      • type=0x15 Edit
    • Unknowns
      • type=0x0B ObjUnknown0xB
      • type=0x1B ObjUnknown0x1B

ObjUnknown0xB

*Superbrainstorming based on smoke. This brainstorming seems to be wrong, because the object named "XMList" by rcomage seems to be an "item" so it cant have other xml "item" childrens **what about this ?, matches prety fine with how are grouped. Main menu separated because is an special object created specifically for top XMB menu, and the others grouped in pairs for "list" and "item". Also matches how are ordered in rcomage. All this attributes appears consecutivelly in groups of two, at top... XMList and XList... then MList MItem... then ObjUnknown0xB and XItem... then LList and LItem... then IList and IItem. Note how XMList doesnt seems to have an XMItem

XMenu

XMList
ObjUnknown0xB <------ is XMItem ?

XList
XItem

MList
MItem

LList
LItem

IList
IItem

If this is true and ObjUnknown0xB is actually XMItem it seems is posible to deduce the attributes because the other "item" objects uses pretty similar attributes (usually 3 attributes, either images or texts), to verify it are needed some/lot of tests by copying the attributes from the other items and creating a 100% custom object for the experiment also a good understanding of all the other rcoxml code, so is hard to know, im not skilled/brave to build this frankenstein but i think the theory is good enought--Sandungas (talk) 08:16, 8 December 2015 (UTC)

Objects using overrides in the "specific" attributes

The "standard" attributes contains 6 overrides and most objects uses the "standard" attributes, but additionally to this ones some of the objects (seems to) use more overrides in the "specific" attributes

  • Some menu builders
    • MList (3 ?)
    • LList (2 ?)
    • IList (1 ?)
  • Text based objects
    • Text (3 ?)
    • EditBox (3 ?)
  • Others
    • CheckboxGroup (1 ?)
    • Meter (1 ?)

anchorMode

Rcomage has some problems with this attribute from PS3 RCOs, it manages the value as 4 bytes length but in the internal RCO file structure is divided in 2 chunks of 2 bytes each. The anchor mode is specifyed by the first byte of the second chunk, is unknown why sony "reserved" 2 bytes for the first chunk (first chunk is always filled with zeroes). All this is a bit confusing and what im saying could not be completly accurate because the different endianess in between PSP and PS3 and what RCOmage does internally. RCOmage allows to choose a "data type" for every attribute by editing the file objectattribdef-ps3.ini. There is no way to extract the value accuratelly so the alternatives are to set it as "int", or you can set it to "unk" instead, this way it will be managed as raw data (no conversion applyed so you can see the real value when the info is extracted to XML)

  • Examples:
    • Extracted as "int"
      • anchorMode="0x320000"
    • Extracted as "unk"
      • anchorMode="0x3200"

Links, notes, etc...

Suggestions