Editing Talk:RCOXML Objects
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
= | =Rcomage unknown object attributes= | ||
See | *See: [[Talk:Rcomage#objattribdef-ps3.ini]] | ||
At the time of documenting the RCO format for wiki it was posible to identify some/lot of unknown attributes, in the link there are a few of them listed as dirty notes (later was identifyed some more that are not included in the link). At this point there is no need for that dirty notes because the new names of the identifyed attributes was used in the tables in wiki, the dirty notes are just kept to have a record of the changes, and liked here because are very related with this page | |||
At | |||
=Menu lists and menu items= | |||
{| class="wikitable" | |||
{| class="wikitable" | |||
|- | |- | ||
! <abbr title=" | ! rowspan="2" | <abbr title="in big endian for PS3">Type</abbr> !! colspan="4" | Name !! rowspan="2" | Displayed as !! rowspan="2" | Notes | ||
|- | |- | ||
! Suggested names<br>for Wiki !! <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" | | |||
|- | |- | ||
| | | 0x804 || '''XmBar''' ? || {{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="3" | Main XMB | ||
|- | |- | ||
| | | 0x805 || '''XmItem''' ? || {{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="PhXmItem">XmItem</abbr> ? || XMB Main Menu, horizontal list item | ||
|- | |- | ||
| | | 0x806 || '''XmList''' ? || {{cellcolors|#ff9999}} XList || <abbr title="Found in PSP firmware 1.00">name="xlist_video_config"</abbr> || <abbr title="PhXmList">XmList</abbr> ? || XMB Main Menu, vertical list placeholder | ||
|-{{cellcolors|black}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | 0x809 || '''MenuList''' || 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 | ||
|- | |- | ||
| | | 0x80A || '''MenuItem''' || MItem || <abbr title="Found in PS3 firmware 4.76">name="mitem_select_network"</abbr> || || Context Menu, vertical list item | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| {{cellcolors|#ff9999}} 0x80B || '''UnknownList''' ? || {{cellcolors|#ff9999}} ObjUnknown0xB || || || || rowspan="2" | 0x80B is the "List"<br>0x80C is the "Item" | |||
|- | |- | ||
| | | 0x80C || '''UnknownItem''' ? || {{cellcolors|#ff9999}} XItem || <abbr title="Found in PSP firmware 1.00">name="item_xlist_video_config_volume"</abbr> || || | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | 0x813 || '''List''' || 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 | ||
|- | |- | ||
| | | 0x814 || '''Item''' || LItem || <abbr title="Found in PSP firmware 1.00">name="litem_edit_apcnf7_0"</abbr> || || Editable Menu, horizontal list item | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | 0x817 || '''InfoList''' || 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 | ||
|- | |- | ||
| | | 0x818 || '''InfoItem''' || IItem || <abbr title="Found in PSP firmware 1.00">name="item_ms_info_size"</abbr> || || Information Menu, vertical list item | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | 0x81C || '''CheckBoxList''' || {{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 | ||
|- | |- | ||
| | | 0x81D || '''CheckBoxItem''' || 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 | |||
*The "Items" '''doesnt''' have standard attributes, '''only''' have 3 specific attributes, and that atributes uses to be a reference (ref/text/image but not always, there are some expections). This is an easy way to identify them | |||
*The "Lists" '''does''' have standard attributes, and a variable number of specific attributes based on its purpose, some of them matches partially with other "list" objects | |||
*If the previous sentence is true, it means we know the first 21 attributes of '''ObjUnknown0xB''' (the standard ones, shared by a lot of objects, always located in the same positions) http://www.psdevwiki.com/ps3/Template:RCO_TOC_Objects_standard_attributes and the specific ones can be found by getting inspiration in the specific attributes of the other "list" objects and the test-error method (first one uses to be a "counter" of childrens, then a variable number of "stuff", and at the end a bunch of "events") | |||
=WidgetType= | |||
See the "paf" [[VSH Exports]] | |||
It seems the '''Widget''' is an identifyer of what rcomage and this wiki page baptished unnofficially 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 [https://gist.github.com/anonymous/331c41b7b60af35c62363700ad88e6b3 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 | |||
{| class="wikitable" | |||
{| class="wikitable | |||
|- | |- | ||
! [[ | ! [[VSH Exports]] string chunk !! <abbr title="and name in wiki by now, at some point could be changed">name in RCOmage</abbr> !! Notes | ||
|- | |- | ||
| | | paf::Ph'''Scene'''::WidgetType(void) || {{cellcolors|#aa0000}} '''Page''' ? || | ||
|- | |- | ||
| | | paf::Ph'''Plane'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Plane'''</abbr> || | ||
|- | |- | ||
| | | '''PlaneDiv''' ? || {{cellcolors|#aa0000}} '''Group''' ? || | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | paf::Ph'''XmBar'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name doesn't matches with the official name">'''XMenu'''</abbr> || <XMenu xmenuOnScrollIn="event:native:/Bar::onScrollIn" /> | ||
|- | |- | ||
| paf::Ph'''XmItem'''::WidgetType(void) || {{cellcolors|#aa0000}} '''XMList''' ? || | |||
|- | |- | ||
| | | paf::Ph'''XmList'''::WidgetType(void) || {{cellcolors|#aa0000}} '''XList''' ? || <XList xlistOnScrollIn="event:native:/XmbMenu::OnScrollInXmList" /> | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | paf::Ph'''MenuList'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name">'''MList'''</abbr> || <MList mlistOnFocusRight="event:native:/Menu::cbFocusRight" /> | ||
|- | |- | ||
| | | paf::Ph'''List'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name doesn't matches with the official name">'''LList'''</abbr> || | ||
|- | |- | ||
| paf::Ph'''InfoList'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name">'''IList'''</abbr> || <IList ilistOnFocusRight="event:native:/EulaLicensingWizard::onFocusRight" /> | |||
|- | |- | ||
| | | paf::Ph'''CheckBoxList'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name">'''CheckBoxGroup'''</abbr> || <CheckboxGroup checkboxgroupOnPush="event:native:/VideoEditorUpload::ServiceLogin::OnPushSavePassword" /> | ||
|-{{cellcolors|lightgrey}} | |||
| colspan="7" | | |||
|- | |- | ||
| | | paf::Ph'''CheckBox'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name, but the unnofficial is more explicit, only problem with the unnofficial name is longer">'''CheckBoxItem'''</abbr> || | ||
|- | |- | ||
| | | paf::Ph'''Progress'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Progress'''</abbr> || | ||
|- | |- | ||
| paf::Ph'''Scroll'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Scroll'''</abbr> || | |||
|- | |- | ||
| | | paf::Ph'''Text'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Text'''</abbr> || | ||
|- | |- | ||
| | | paf::Ph'''LabelText'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name doesn't matches with the official name">'''EditBox'''</abbr> || The object named "EditBox" by rcomage is exactly like the object "Text" with some attributes added at the end (for the label) | ||
|- | |- | ||
| | | paf::Ph'''ItemSpin'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''ItemSpin'''</abbr> || | ||
|- | |- | ||
| paf::Ph'''NumSpin'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name">'''Spin'''</abbr> || | |||
|- | |- | ||
| | | paf::Ph'''Button'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Button'''</abbr> || | ||
|- | |- | ||
| | | paf::Ph'''Clock'''::WidgetType(void) || {{cellcolors|#00aa00}} <abbr title="the unnofficial name matches with the official name">'''Clock'''</abbr> || | ||
|- | |- | ||
| | | paf::Ph'''LevelMeter'''::WidgetType(void) || {{cellcolors|#aa0000}} <abbr title="the unnofficial name matches partially with the official name">'''Meter'''</abbr> || | ||
|- | |- | ||
| paf::Ph'''IPAddr'''::WidgetType(void) || {{cellcolors|#aa0000}} '''Edit''' || All the "event" strings found in PS3 for this object contains the name "ipaddr" ! | |||
|- | |- | ||
| | | paf::Ph'''LabelPrim'''::WidgetType(void) || ? || | ||
|- | |- | ||
| | | paf::Ph'''Widget'''::WidgetType(void) || ? || weird, a WidgetType named Widget ?... this sounds too generic, maybe is the name of the "ObjectTree" | ||
|} | |} | ||
*Other unnofficial "object" names that are not in the table: | |||
**General | |||
***type=0x00 '''ObjectTree''' | |||
* | **Items | ||
* | ***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''' | |||
**Unknowns | |||
***type=0x0B '''ObjUnknown0xB''' | |||
***type=0x1B '''ObjUnknown0x1B''' | |||
* | |||
**''' | |||
*** | |||
*** | |||
** | |||
* | |||
**''' | |||
*** | |||
=Some texture using object and attribute names= | |||
The names of this images indicates the attribute names of some RCOXML objects. Are the object attributes with datatype/reftype "image" | |||
<Image name="tex_default_text_field" src="Images\tex_default_text_field.png" format="gim" compression="zlib" unknownByte="0" /> | <Image name="tex_default_text_field" src="Images\tex_default_text_field.png" format="gim" compression="zlib" unknownByte="0" /> | ||
<Image name="tex_default_text_focus" src="Images\tex_default_text_focus.png" format="gim" compression="zlib" unknownByte="0" /> | <Image name="tex_default_text_focus" src="Images\tex_default_text_focus.png" format="gim" compression="zlib" unknownByte="0" /> | ||
Line 267: | Line 163: | ||
<Image name="tex_default_lvmeter_focus" src="Images\tex_default_lvmeter_focus.png" format="gim" compression="zlib" unknownByte="0" /> | <Image name="tex_default_lvmeter_focus" src="Images\tex_default_lvmeter_focus.png" format="gim" compression="zlib" unknownByte="0" /> | ||
<Image name="tex_default_lvmeter_bg" src="Images\tex_default_lvmeter_bg.png" format="gim" compression="zlib" unknownByte="0" /> | <Image name="tex_default_lvmeter_bg" src="Images\tex_default_lvmeter_bg.png" format="gim" compression="zlib" unknownByte="0" /> | ||
=ObjUnknown0xB= | |||
<strike>*Superbrainstorming based on smoke</strike>. '''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 | |||
<strike>**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--[[User:Sandungas|Sandungas]] ([[User talk:Sandungas|talk]]) 08:16, 8 December 2015 (UTC) | |||
</strike> | |||
=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 | |||
*Lists | |||
**MList (3 ?) | |||
**LList (2 ?) | |||
**IList (1 ?) | |||
**CheckboxGroup (3 ?)... this one is an expanded/repurposed version of '''Mlist''', the 3 override attributes are the same than '''Mlist''' | |||
*Text | |||
**Text (3 ?) | |||
**EditBox (3 ?)... this one is an expanded/repurposed version of '''Text''', the 3 override attributes are the same than '''Text''' | |||
*Others | |||
**Meter (1 ?) | |||
=anchorMode= | =anchorMode= | ||
Line 277: | Line 213: | ||
***anchorMode="0x3200" | ***anchorMode="0x3200" | ||
= | =Links, notes, etc...= | ||
*[https://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=translate.google.com&sl=auto&tl=en&u=http://ctfs.wiki.fc2.com/wiki/RCOmageXML%25E3%2581%25A7%25E4%25BD%25BF%25E7%2594%25A8%25E3%2581%2595%25E3%2582%258C%25E3%2582%258B%25E8%25A6%2581%25E7%25B4%25A0%25E3%2581%25A8%25E5%25B1%259E%25E6%2580%25A7&usg=ALkJrhgDxWnUbgejQi-PgJ-wyqCtUxGy_g Elements and attributes to be used in RCOmageXML] | *[https://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=translate.google.com&sl=auto&tl=en&u=http://ctfs.wiki.fc2.com/wiki/RCOmageXML%25E3%2581%25A7%25E4%25BD%25BF%25E7%2594%25A8%25E3%2581%2595%25E3%2582%258C%25E3%2582%258B%25E8%25A6%2581%25E7%25B4%25A0%25E3%2581%25A8%25E5%25B1%259E%25E6%2580%25A7&usg=ALkJrhgDxWnUbgejQi-PgJ-wyqCtUxGy_g Elements and attributes to be used in RCOmageXML] | ||
*https://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=translate.google.com&sl=auto&tl=en&u=http://ctfs.wiki.fc2.com/wiki/RCOmageXML&usg=ALkJrhjRxsEgJ7QEiFf9aBAfxp9-eXKIsQ | *https://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=translate.google.com&sl=auto&tl=en&u=http://ctfs.wiki.fc2.com/wiki/RCOmageXML&usg=ALkJrhjRxsEgJ7QEiFf9aBAfxp9-eXKIsQ |