Talk:Rcomage: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
Line 66: Line 66:
This file defines the names of the object attributes used in the XML descriptor at the root of the .rco
This file defines the names of the object attributes used in the XML descriptor at the root of the .rco


Lot of unknowns, some of them was not posible to identify in PSP times because PSP never used them... but in PS3 is posible to identify a few more, please help to fill an "unnofficial" list here
There is a group of common attributes used to define the position of an object, are used by 21 objects (so are repeated 21 times under every one of this objects): Plane, Button, XMenu, XList, Progress, Scroll, MList, Text, ModelObject, Spin, ItemSpin, Group, LList, Edit, Clock, IList, Icon, UButton, CheckboxGroup, Meter, EditBox
; -- BEGIN STANDARD POSITION DEFINITION --
onLoad          onInit <---------- massive usage in 4.76 firmware, too much and too lazy to count them now
unknown17
unknown18
unknown19
unknownInt20
unknownInt21
unknown22
; -- END STANDARD POSITION DEFINITION --
 
And this ones are the extended attributes, specific for each object
  [Page]
  [Page]
  unknownInt0  ???????? <---- used 1174 times in retail firmware 4.76 all them with value: 0x1110000<!-- page objects are the most importants because are the parents of the others and this attribute is located in the first position because is prioritary for efficiency purposes (seems to be something needed to be readed by the firmware as soon as posible to decide what to do with his childrens), probably related with some execution mode of the firmware, target_id, enviroments, or something like that-->
  unknownInt0  ???????? <---- used 1174 times in retail firmware 4.76 all them with value: 0x1110000<!-- page objects are the most importants because are the parents of the others and this attribute is located in the first position because is prioritary for efficiency purposes (seems to be something needed to be readed by the firmware as soon as posible to decide what to do with his childrens), probably related with some execution mode of the firmware, target_id, enviroments, or something like that-->
Line 207: Line 218:
  unknownRef73  onFocusUp
  unknownRef73  onFocusUp
  unknownRef75  onFocusDown
  unknownRef75  onFocusDown
<!-- STANDARD POSITION DEFINITION
onLoad        onInit <---- better, official name (in rcomage are swapped onInit & onLoad)
-->


*Examples:
*Examples:
Line 276: Line 283:
**unknownRef37="event:native:/OnPushIlistBtDeviceManager"
**unknownRef37="event:native:/OnPushIlistBtDeviceManager"
**<IItem name="iitem_address_setting" unknown1="0x0" textDefault="text:msg_ipaddress_setting" textError="text:msg_auto"></IItem>
**<IItem name="iitem_address_setting" unknown1="0x0" textDefault="text:msg_ipaddress_setting" textError="text:msg_auto"></IItem>
In the previous examples the ''MlistID'' is the owner of the attribute that specifyes the event... so ''MlistID'' needs to be removed to deduce the event name
Probably another unknown is ''OnFocusOut'' (because ''Out'' is the opposite state of ''In'', it seems ''Focus'' and ''Scroll'' are intended to have 2 states)


OnPush is used a lot instead of the pad directions, as example on some menues of xmb settings column, when moving right is taken as a push
OnPush is used a lot instead of the pad directions, as example on some menues of xmb settings column, when moving right is taken as a push


onPanelCommand seems to be an special event that can replace some of the standard events (used as a ''Button'' attribute)
onPanelCommand seems to be an special event that can replace some of the standard events (used as a ''Button'' attribute)


*Objects not used in PS3 official firmware (some of them maybe supported)
*Objects not used in PS3 official firmware (some of them maybe supported)

Revision as of 11:12, 16 November 2015

Missing descriptors in rcomage current version (1.1.1)

miscmap.ini

  • See Languages
    • unknown0x10.xml is Polish
    • unknown0x11.xml is Portuguese (Brazil)
    • unknown0x12.xml is English (Great Britain)
    • unknown0x13.xml is Turkish
  • The languages are listed in the file miscmap.ini... you can add the unknowns by yourself to the languages table, example:
[languages]
00_Japanese       ; ja
01_English_US     ; us
02_French         ; fr
03_Spanish        ; es
04_German         ; de
05_Italian        ; it
06_Dutch          ; nl
07_Portuguese_PT  ; pt
08_Russian        ; ru
09_Korean         ; ko
10_Chinese_T      ; ch
11_Chinese_S      ; zh
12_Finnish        ; fi
13_Swedish        ; sv
14_Danish         ; da
15_Norwegian      ; no
16_Polish         ; pl
17_Portuguese_BR  ; br
18_English_GB     ; gb
19_Turkish        ; tr
  • changes
    • Added the 4 unknown languages (Polish, Portuguese_BR, English_GB, Turkish)
    • Added "2 digits language code" before name, and language variant after name
    • Changed names for variants of English_US/GB, Portuguese_PT/BR, and Chinese_T/S
    • Changed commented languages to "2 letters language code" standards
    • Fixed "Portugese" typo

tagmap.ini

This file defines the names of the tags used in the XML descriptor at the root of the .rco

Only 2 unknowns:

[Object]
ObjUnknown0xB
ObjUnknown0x1B

animattribdef-ps3.ini

This file defines the names of the animation attributes used in the XML descriptor at the root of the .rco

Only 5 unknowns. It seems that unknownInt5, unknownInt6, unknown7 has been implemented with rco 2.0 format specifically for PS3 (not supported in PSP). The others for lock/unlock existed before in rco 1.0 format (supported in PSP)

[MoveTo]
unknownInt5 = int
unknownInt6 = int
unknown7 = unk

[Lock]
unknownInt0 = int

[Unlock]
unknownInt0 = int

objattribdef-ps3.ini

This file defines the names of the object attributes used in the XML descriptor at the root of the .rco

There is a group of common attributes used to define the position of an object, are used by 21 objects (so are repeated 21 times under every one of this objects): Plane, Button, XMenu, XList, Progress, Scroll, MList, Text, ModelObject, Spin, ItemSpin, Group, LList, Edit, Clock, IList, Icon, UButton, CheckboxGroup, Meter, EditBox

; -- BEGIN STANDARD POSITION DEFINITION --
onLoad           onInit <---------- massive usage in 4.76 firmware, too much and too lazy to count them now
unknown17
unknown18
unknown19
unknownInt20
unknownInt21
unknown22
; -- END STANDARD POSITION DEFINITION --

And this ones are the extended attributes, specific for each object

[Page]
unknownInt0   ???????? <---- used 1174 times in retail firmware 4.76 all them with value: 0x1110000
onInit        <------------- used 625 times in firmware 4.76. Around 607 onInit, 18 onOpen
onContextMenu onContext <--- better to use a more generic name because "onContext" is used in several other objects and is technically the same event for all them

[Button]
image2         focus
unknownRef29   text
unknownEvent31 onPush   <---- used 292 times in firmware 4.76. Around 258 onPush, 24 buttonPush, 5 btnClick, 3 onButton, 2 onCancel
unknownEvent33 onFocusIn
unknownEvent35 onFocusOut
unknownEvent37 onFocusLeft
unknownEvent39 onFocusRight
unknownEvent41 onFocusUp
unknownEvent43 onFocusDown
unknownEvent45 onContext
unknownInt47   ?????????????? <--- used 624 times in firmware 4.76 with values: 0x0 (560 times), or 0xffffffff (64 times)

[XMenu]
onEnter        onPush <---- used 2 times in firmware 4.76. Both onPush
unknownEvent28 onCursorMove
onLabelLoad    onScrollIn <---- better, official name
unknownRef32   onScrollOut

[XMList]
unknown0       ???????? <---- used 20 times in firmware 4.76 all them with value 0x0 (the 10 main XMB icons in xmb normal/ingame)
unknownRef3    text

[XList]
unknownInt23 <-------- used 18 times in firmware 4.76 all them with value 0x0
unknownEvent36 <------ used 18 times in firmware 4.76 all them with value "nothing"

[Progress]
unknownRef25   image
unknownRef27   image2 <------ shadow image ?
unknownRef29   ????????  <------ focus image ?

[MList]
unknownRef32 ??????
unknownRef33 onPush
unknownRef35 onCursorMove
unknownRef37 onFocusIn
unknownRef39 onFocusOut
unknownRef41 onFocusLeft
unknownRef43 onFocusRight
unknownRef45 onFocusUp
unknownRef47 onFocusDown
unknownRef49 onScrollIn
unknownRef51 onScrollOut

[MItem]
unknownRef4  altText2

[Spin]
unknownEvent29  onDecide
unknownEvent31  onCancel
unknownEvent33  onRollIn

[Action]
unknownRef0     text

[ItemSpin]
unknownEvent33  onDecide
unknownEvent35  onCancel
unknownRef37    ???     <------- 
unknownRef39    ???     <------- 
unknownRef41    onFocusIn
unknownRef43    onFocusOut
unknownRef45    onFocusLeft
unknownRef47    onFocusRight

[LList]
unknownEvent40  OnScrollIn
unknownRef42    OnScrollOut     <------- speculative

[Edit]
unknownEvent31  onDecide
unknownRef33    onCancel
unknownRef35    ???     <------- OnRollIn ?
unknownRef37    ???
unknownEvent39  onFocusLeft
unknownEvent41  onFocusRight
unknownObject43 object2 ?
unknownObject45 object2 ?

[Clock]
unknownText25   text
unknownText27   altText
unknownEvent33  onDecide
unknownEvent35  onCancel
unknownRef37    ???     <------- 
unknownRef39    ???     <------- 
unknownEvent41  onFocusLeft
unknownEvent43  onFocusRight
unknownRef45    ???     <------- 
unknownRef47    ???     <------- 
unknownEvent49  onTickClock 

[IList]
unknownRef25    ???     <------- 
unknownRef27    ???     <------- 
unknownEvent29  onFocusLeft
unknownRef31    onFocusRight
unknownRef33    onFocusUp ? <-------  speculative
unknownRef35    onFocusDown
unknownRef37    onPush <------------ found used this way (and only 1 time in firmware 4.76), but it seems OnPush is used here as a generic event

[IItem]
unknown1       ???????? <---- used 136 times in firmware 4.76 all them with value 0x0
textDefault    text
textError      altText  <---- because is not an error strictlly

[CheckboxGroup]
unknownRef31    ????????    <---- probably another event, used 23 times in firmware 4.76, all them with the value "nothing"
unknownRef33    onPush      <---- used 23 times in 4.76 firmware, 17 onPush, the others "nothing"
unknownRef35    onCursorMove
unknownRef37    onFocusIn
unknownRef39    onFocusOut
unknownRef41    onFocusLeft
unknownRef43    onFocusRight
unknownRef45    onFocusUp
unknownRef47    onFocusDown
unknownRef49    onScrollIn
unknownRef51    onScrollOut ? <------- speculative, used 23 times in firmware 4.76, all them with the value "nothing"

[CheckboxItem]
unknownRef1     text
unknownRef3     ???      <---- used 4 times in 4.76 firmware, all them with the value "nothing"
unknownRef5     ???      <---- used 4 times in 4.76 firmware, all them with the value "nothing"

[EditBox]
unknownRef59   image  <--------- name is too generic, is better a more explicit name as "shadow"
unknownRef61   image2   <------- name is too generic, is better a more explicit name as "focus"
unknownRef63   onPush      <---- used 74 times in 4.76 firmware, 62 onPush, 1 onBtnClick, 11 "nothing"
unknownRef65   onFocusIn
unknownRef67   onFocusOut
unknownRef69   onFocusLeft
unknownRef71   onFocusRight
unknownRef73   onFocusUp
unknownRef75   onFocusDown
  • Examples:
    • onInit="event:native:/OnListPageOpen"
    • onInit="event:native:/OnContentsSelectPageOpen"
    • onInit="event:native:/OnModeSelectPageOpen"
    • onInit="event:native:/onInit_page_Wizard"
    • unknownRef3="text:msg_game"
    • unknownRef33="event:native:/OnPushMlistID"
    • unknownRef33="event:native:/Menu::cbPush"
    • unknownRef37="event:native:/OnFocusInMlistID"
    • unknownRef41="event:native:/Menu::cbFocusLeft"
    • unknownRef47="event:native:/Menu::cbFocusDown"
    • unknownRef49="event:native:/OnScrollInMlistID"
    • unknownRef49="event:native:/Menu::cbScrollIn"
    • unknownRef51="event:native:/Menu::cbScrollOut"
    • onLoad="event:native:/Bar::onInit"
    • onLoad="event:native:/onInit_ilist_NetworkInfomationList"
    • onEnter="event:native:/Bar::onPush"
    • unknownEvent28="event:native:/Bar::onCursorMove"
    • onLabelLoad="event:native:/Bar::onScrollIn"
    • unknownRef32="event:native:/Bar::onScrollOut"
    • image="image:tex_button" shadow="image:tex_button_shadow" image2="image:tex_button_focus" unknownRef29="text:msg_ok"
    • unknownEvent31="event:native:/XaiController::onPanelCommand"
    • unknownEvent37="event:native:/XaiController::onPanelCommand"
    • unknownEvent39="event:native:/XaiController::onPanelCommand"
    • shadowX="4" shadowY="-5" shadowPerspective="0" shadowRed="0.25" shadowGreen="0.25" shadowBlue="0.25" shadowAlpha="1" unknown48="0x0" unknown49="0x0" unknown50="0x0" unknownFloat51="1" unknownFloat52="1" unknownFloat53="1" unknownFloat54="1"
    • unknownRef63="event:native:/onPush_button_NetworkDhcpHostSetting"
    • unknownRef69="event:native:/onFocusLeft_button_NetworkAccounSetting" unknownRef71="event:native:/onFocusRight_button_NetworkAccounSetting" unknownRef73="event:native:/onFocusUp_button_NetworkAccounSettingPassword"
    • unknownRef75="event:native:/onFocusDown_button_NetworkAccounSettingUserId"
    • unknownEvent31="event:native:/onDecide_ipaddr_NetworkAddressSetIpaddress"
    • unknownRef33="event:native:/onCancel_ipaddr_NetworkAddrSetting"
    • unknownEvent31="event:native:/onDecide_ipaddr_NetworkAddressSetNetmask"
    • unknownRef33="event:native:/onCancel_ipaddr_NetworkAddrSetting"
    • unknownEvent39="event:native:/onFocusLeft_ipaddr_NetworkAddrSetting"
    • unknownEvent41="event:native:/onFocusRight_ipaddr_NetworkAddrSetting"
    • unknownObject43="object2:ipaddr_network_address_setting_ipaddress"
    • unknownObject45="object2:ipaddr_network_address_setting_defaultrooter"
    • unknownRef29="text:msg_agree"
    • unknownEvent31="event:native:/cbPush"
    • unknownEvent37="event:native:/cbFocusLeft" unknownEvent39="event:native:/cbFocusRight" unknownEvent41="event:native:/cbFocusUp" unknownEvent43="event:native:/cbFocusDown"
    • unknownEvent31="event:native:/OnControlPanelButtonPush" unknownEvent33="event:native:/OnControlPanelButtonFocusIn" unknownEvent35="event:native:/OnControlPanelButtonFocusOut" unknownEvent37="event:native:/OnControlPanelButtonFocusLeft" unknownEvent39="event:native:/OnControlPanelButtonFocusRight" unknownEvent41="event:native:/OnControlPanelButtonFocusUp" unknownEvent43="event:native:/OnControlPanelButtonFocusDown"
    • unknownRef33="event:native:/ctl_list_cbPush" unknownRef35="nothing" unknownRef37="nothing" unknownRef39="nothing" unknownRef41="nothing" unknownRef43="event:native:/ctl_list_cbFocusRight" unknownRef45="event:native:/ctl_list_cbFocusUp" unknownRef47="nothing" unknownRef49="event:native:/ctl_list_cbScrollIn" unknownRef51="event:native:/ctl_list_cbScrollOut"
    • unknownRef59="image:avc2_main_back_paper" unknownRef61="image:avc2_main_back_paper" unknownRef63="event:native:/cbPush"
    • unknownRef33="event:native:/Menu::cbPush" unknownRef35="event:native:/Menu::cbCursorMove" unknownRef37="nothing" unknownRef39="event:native:/Menu::cbFocusOut"
    • unknownEvent43="event:native:/VideoEditorUpload::ServiceSelect::OnFocusDownButton1" unknownEvent45="event:native:/VideoEditorUpload::ServiceSelect::OnContextMenuButton1"
    • unknownRef63="event:native:/OnCreatePageEditBtnClick" unknownRef65="event:native:/OnCreatePageEditBtnFocusIn"
    • unknownRef65="event:native:/DialogController::onEditBottonFocusIn" unknownRef67="event:native:/DialogController::onEditBottonFocusOut"
    • unknownEvent29="event:native:/OnDecideISpinDeviceConfigCameraSetting" unknownEvent31="event:native:/OnCancelISpinDeviceConfigCameraSetting" unknownEvent33="event:native:/OnRollInISpinDeviceConfigCameraSetting"
    • unknownRef33="event:native:/OnPushClistRegPSVitaConfig" unknownRef35="nothing" unknownRef37="event:native:/OnFocusInClistRegPSVitaConfig" unknownRef39="event:native:/OnFocusOutClistRegPSVitaConfig" unknownRef41="nothing" unknownRef43="nothing" unknownRef45="nothing" unknownRef47="event:native:/OnFocusDownClistRegPSVitaConfig" unknownRef49="event:native:/OnScrollInClistRegPSVitaConfig"
    • unknownRef33="event:native:/OnPushCheckBoxList" unknownRef35="event:native:/OnCursorMoveCheckBoxList" unknownRef37="nothing" unknownRef39="nothing" unknownRef41="nothing" unknownRef43="nothing" unknownRef45="event:native:/OnFocusUpCheckBoxList" unknownRef47="event:native:/OnFocusDownCheckBoxList"
    • unknownRef41="event:native:/OnFocusLeftClistAudioOutputConfig" unknownRef43="event:native:/OnFocusRightClistAudioOutputConfig"
    • unknownEvent33="event:native:/OnTitleJumpSpinDecide" unknownEvent35="event:native:/OnTitleJumpSpinCancel" unknownRef37="nothing" unknownRef39="nothing" unknownRef41="event:native:/OnTitleJumpButtonFocusIn" unknownRef43="event:native:/OnTitleJumpButtonFocusOut"
    • unknownRef45="event:native:/OnFocusLeftNumSpinWizardEventHandler" unknownRef47="event:native:/OnFocusRightNumSpinWizardEventHandler"
    • unknownEvent29="event:native:/EulaLicensingWizard::onFocusLeft" unknownRef31="event:native:/EulaLicensingWizard::onFocusRight"
    • unknownRef35="event:native:/ConsoleAutoPowerOffPage::OnFocusDownIlist"
    • unknownEvent33="event:native:/OnDecideClockFirstConfig" unknownEvent35="event:native:/OnCancelClockFirstConfig" unknownRef37="nothing" unknownRef39="nothing" unknownEvent41="event:native:/OnFocusLeftFirstConfig" unknownEvent43="event:native:/OnFocusRightFirstConfig" unknownRef45="nothing" unknownRef47="nothing" unknownEvent49="event:native:/OnTickClockFirstConfig"
    • <Action name="item_audio_device_config_volume_off" unknownRef0="text:msg_off"></Action>
    • unknownRef1="text:msg_update_auto_off_ps3_after_update"
    • unknownRef3="text:msg_game"
    • unknownRef25="image:tex_progress_bar" unknownRef27="image:tex_progress_bar_in"
    • <MItem name="item_network_accesspoint_list" text="text:msg_none" altText="text:msg_none" unknownRef4="text:msg_none"></MItem>
    • unknownEvent40="event:native:/OnScrollInListEdyViewer"
    • unknownText25="text:msg_am" unknownText27="text:msg_pm"
    • unknownRef37="event:native:/OnPushIlistBtDeviceManager"
    • <IItem name="iitem_address_setting" unknown1="0x0" textDefault="text:msg_ipaddress_setting" textError="text:msg_auto"></IItem>

OnPush is used a lot instead of the pad directions, as example on some menues of xmb settings column, when moving right is taken as a push

onPanelCommand seems to be an special event that can replace some of the standard events (used as a Button attribute)

  • Objects not used in PS3 official firmware (some of them maybe supported)
[ObjUnknown0xB]
[XItem]
[ModelObject]
[LItem]
[Icon]
[UButton]
[ObjUnknown0x1B]

Other descriptors, not in setting files (seem to be hardcoded)

UMDFlag

This attribute was named UMDFlag unofficially because it was found used in the .rco files contained inside PSP UMD discs only

The name seems not accurate enought (because PS3 cant read UMD discs) so maybe is something more generic like "disc media", though never has been found a PS3 disc containing .rco's and the HYBRID_FLAG used in the bluray contents descriptor file PS3_DISC.SFB for "music bluray" and "photo bluray" are completlly speculative

minFirmwareVer

This is a very important unknown. See: Talk:Resource_Container_(RCO)

unknownByte

In the xml representation of the .rco structure... every image inside the imagetree uses an unknown attribute named unknownByte. Is an attribute related with the image format and is equal to 0 in most of the PS3 images (very rarelly used)

  • After searching in ALL the images contained inside ALL .rco files from firmware 4.76... there is a total of 72 images using unknownByte="1" (and 3098 images using unknownByte="0" for a total of 3170 images inside .rco's)

from system_plugin.rco

Code Sample
  • The 2 .gim files found using unknownByte="1" has some things in common:
    • The size of both .gim file is exactlly 452KB (463.232 bytes)
    • The resolution of both images in pixels is 512x206
    • The first 0x80 bytes of the header in both is exactlly the same (see example below)

unknownByte .gim header example

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  2E 47 49 4D 31 2E 30 30 00 50 53 50 00 00 00 00  .GIM1.00.PSP....
00000010  00 02 00 00 00 07 11 70 00 00 00 10 00 00 00 10  .......p........
00000020  00 03 00 00 00 07 11 60 00 00 00 10 00 00 00 10  .......`........
00000030  00 04 00 00 00 07 11 50 00 07 11 50 00 00 00 10  .......P...P....
00000040  00 30 00 00 00 03 00 00 02 18 00 D8 00 20 00 10  .0.........Ø. ..
00000050  00 01 00 02 00 00 00 00 00 00 00 30 00 00 00 40  ...........0...@
00000060  00 07 11 40 00 00 00 00 00 01 00 01 00 03 00 01  ...@............
00000070  00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............