Editing RCOXML Coding

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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:
=Description=
=Description=
An RCOXML file is a XML file that represents the contents of a RCO file. This RCOXML files doesnt exists inside the RCO file (are just a representation of it). In the compilation enviroment used officially by sony this RCOXML files "should" work as a "pre-build" layout, contains all the info and settings needed to build an RCO file
RCOXML files are the XML descriptor files implicit inside [[Resource Container (RCO)]] files (.rco)


Tools like [[Rcomage]] generates this RCOXML files that can be used to rebuild the RCO, or to build a custom RCO from scratch, this RCOXML files generated by rcomage "should" be pretty similar to the officials because all the info is based in the TOC area of the RCO that is structured as an XML so the conversion from TOC to XML format is direct (also, rcomage adds some info for rebuilding purposes that is not part of the TOC), see [[Resource Container (RCO)]]
This RCOXML files doesnt exists inside the .rco container, tools like [[Rcomage]] extracts the info as XML as a representation of the data inside the .rco container
{{RCOXML contents PS3}}
 
Are composed by tables, some of this tables works simply as an index of the contents inside the container (texts, sounds, languages), and others tables contains "pages" that builds the XMB items, animations, effects, dialog menues, selection windows, widgets, etc...
 
Note the name "page" here in wiki is used as a generic name for all types of pages, rcomage uses specific names for some types of pages wich purpose was identifyed, this names can vary between different versions of rcomage tool
 
= RCOXML Contents (PS3) =
There are 122 .rco files in PS3 firmware 4.76
 
{| class="wikitable sortable" style="font-size:x-small;"
|-
! rowspan="2" | filename.rco !! colspan="8" | RCOXML contents !! rowspan="2" | notes
|-
! MainTree Name !! [[RCOXML Images|ImageTree]] !! [[RCOXML Fonts|FontTree]] !! [[RCOXML Texts|TextTree]] !! [[RCOXML Models|ModelTree]] !! [[RCOXML Sounds|SoundTree]] !! [[RCOXML Objects|ObjectTree]] !! [[RCOXML Animations|AnimTree]]
|-
| [[ap_plugin]].rco || ap_plugin || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[audioplayer_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[audioplayer_plugin_dummy]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} ||
|-
| [[audioplayer_plugin_mini]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[audioplayer_plugin_util]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[auth_plugin]].rco || auth_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[autodownload_plugin]].rco || autodownload_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[autoupdateconf_plugin]].rco || autoupdateconff_plugin<!--the double "ff" is a sony typo--> || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[avc2_game_plugin]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} ||
|-
| [[avc2_game_video_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[avc2_text_plugin]].rco || tcgui || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[avc_game_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[avc_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[bdp_disccheck_plugin]].rco || bdp_disccheck_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[bdp_plugin]].rco || bdp_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[bdp_storage_plugin]].rco || bdp_storage_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[campaign_plugin]].rco || campaign_plugin || {{yes}} (gim, png) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[category_setting_plugin]].rco || category_setting_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} ||
|-
| [[checker_plugin]].rco || checker || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[closedcaption_config_plugin]].rco || closedcaption_config_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[comboplay_plugin]].rco || comboplay_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[custom_render_plugin]].rco || custom_render_plugin || {{yes}} (gim) || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[data_copy_plugin]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[deviceconf_plugin]].rco || deviceconf_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[dlna_plugin]].rco || dlna || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[download_plugin]].rco || download || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[dtcpip_util]].rco || dtcpip_util || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[edy_plugin]].rco || edy_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} ||
|-
| [[eula_cddb_plugin]].rco || eula_cddb_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[eula_hcopy_plugin]].rco || eula_hcopy || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[eula_net_plugin]].rco || regcam_plugin || {{yes}} (gim, png, jpg) || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} ||
|-
| [[explore_category_friend]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_game]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_music]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_network]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_photo]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_psn]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_sysconf]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_tv]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_user]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_category_video]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_plugin_ft]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_plugin_full]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[explore_plugin_game]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[explore_plugin_np]].rco || explore_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[filecopy_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[friendim_plugin]].rco || friendim || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[friendim_plugin_game]].rco || friendim || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || Associated .sprx has a different name.
|-
| [[friendml_plugin]].rco || friendml_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[friendml_plugin_game]].rco || friendml_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[friendtrophy_plugin]].rco || friendtrophy_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[friendtrophy_plugin_game]].rco || friendtrophy_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[game_ext_plugin]].rco || game_ext_plugin || {{yes}} (gim, png) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[game_indicator_plugin]].rco || user_info_plugin || {{yes}} (gim) || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[game_plugin]].rco || game_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[gamedata_plugin]].rco || gamedata_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[gamelib_plugin]].rco || gamelib_plugin || {{yes}} (gim) || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[gameupdate_plugin]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[hknw_plugin]].rco || hknw_plugin || {{yes}} (gim) || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[idle_plugin]].rco || idle || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[impose_plugin]].rco || impose_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || Associated .sprx has a different name.
|-
| [[ingame_manual_plugin]].rco || ingame_manual || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[kensaku_plugin]].rco || kensaku || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[msgdialog_plugin]].rco || msgdialog_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[mtpinitiator_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[musicbrowser_plugin]].rco || sample || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[nas_plugin]].rco || nas_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[netconf_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[newstore_effect]].rco || skeleton_plugin || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Empty file.
|-
| [[newstore_plugin]].rco || newstore_plugin || {{yes}} (gim, png, jpg) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[np_eula_plugin]].rco || npeula || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[np_matching_plugin]].rco || np_matching_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || |
|-
| [[np_multisignin_plugin]].rco || np_multisignin_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[np_sns_plugin]].rco || npsns || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[np_trophy_ingame]].rco || np_achiev || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[np_trophy_plugin]].rco || np_achiev || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[npsignin_plugin]].rco || npsignin_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[osk_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} ||
|-
| [[oskfullkeypanel_plugin]].rco || ime_osk_base_resouce || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[oskpanel_plugin]].rco || ime_osk_base_resouce || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[pesm_plugin]].rco || pesm || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[photo_network_sharing_plugin]].rco || pesm || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[photolist_plugin]].rco || sample || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[photoupload_plugin]].rco || dlna || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[photoviewer_plugin]].rco || photoviewer_plugin || {{yes}} (gim, png) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[playlist_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[podl_plugin]].rco || podl_plugin || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[poweroff_plugin]].rco || poweroff || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[premo_plugin]].rco || premo_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[print_plugin]].rco || print_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[profile_plugin]].rco || profile_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[profile_plugin_mini]].rco || profile_plugin_mini || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[ps3_savedata_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[ps3_savedata_plugin_game_mini]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[rec_plugin]].rco || rec_plugin || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[regcam_plugin]].rco || regcam_plugin || {{yes}} (gim, png, jpg) || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} ||
|-
| [[remotedownload_plugin]].rco || remotedownload || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[sacd_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} ||
|-
| [[scenefolder_plugin]].rco || sample || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[screenshot_plugin]].rco || screenshot_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[search_service]].rco || search_service || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || Associated .sprx has a different name.
|-
| [[software_update_plugin]].rco || software_update_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[soundvisualizer_plugin]].rco || soundvisualizer || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[strviewer_plugin]].rco || strviewer || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[subdisplay_plugin]].rco || ap_plugin || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[sv_pseudoaudioplayer_plugin]].rco || sv_pseudoaudioplayer || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[sysconf_plugin]].rco || sysconf_plugin || {{yes}} (gim) || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[system_plugin]].rco || system_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || Associated .sprx has a different name.
|-
| [[thumthum_plugin]].rco || sample || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[upload_util]].rco || upload_util || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[user_info_plugin]].rco || user_info_plugin || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[user_plugin]].rco || user || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[videoeditor_plugin]].rco || skeleton_plugin || {{yes}} (gim, png, jpg) || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} ||
|-
| [[videoplayer_plugin]].rco || videoplayer || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[videoplayer_util]].rco || videoplayer || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[vmc_savedata_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[wboard_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[webbrowser_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[webrender_plugin]].rco || sample || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[xmb_ingame]].rco || xmb_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|-
| [[xmb_plugin_normal]].rco || xmb_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || Associated .sprx has a different name.
|-
| [[ycon_manual_plugin]].rco || ycon_plugin || {{yes}} (gim) || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} ||
|}
 
*'''VSMXfile''' is not included in the table above because none of the PS3 .rco files includes them<!--or rcomage is not able to extract them-->


= RCOXML Structure =
= RCOXML Structure =
This is a '''not-working''' example intended to place all together as an overview. Not all nodes below are required, and various object/anim entries are omitted.
Not all nodes below are required, and various object/anim entries are omitted.


{{Boxcode|code=<syntaxhighlight lang="xml">
RcoFile - XML root element; generally does not need to be modified
MainTree - root RCO node from which everything must descend from
VSMXFile - attached UMD virtual machine instruction code, for UMD and some LFTV RCOs.  Only one may exist in an RCO file
ImageTree - parent node from which all image resources descend from
Image
Image
...
FontTree - parent node from which all fonts descend from
FontStyle
FontStyle
...
TextTree - parent node from which all text language resources descend from
TextLang
TextLang
...
ModelTree - parent node from which all model resources descend from
Model
Model
...
SoundTree - parent node from which all sound resources descend from
Sound
Sound
...
ObjectTree - parent node from which all object pages descend from
<Page>
page objects go here
<Page>
page objects go here
...
AnimTree - parent node from which all animation sequences descend from
<Animation>
animation entries go here
<Animation>
animation entries go here
...
----
This is a '''not-working''' example
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.2 -->
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.2 -->
<RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="psp" minFirmwareVer="1.5"> <!-- XML root element, generally does not need to be modified -->
<RcoFile UMDFlag="0" rcomageXmlVer="1.1" type="psp" minFirmwareVer="1.5">
<MainTree name="sample"> <!-- root RCO node from which everything must descend from -->
<MainTree name="sample">
<VSMXFile name="main" src="main.vsmx"></VSMXFile> <!-- attached virtual machine instruction code, only one may exist in an RCO file -->
<VSMXFile name="main" src="main.vsmx"></VSMXFile>
<ImageTree> <!-- parent node from which all image resources descend from -->
<ImageTree>
<Image name="texture" src="texture.gim" format="gim" compression="zlib" unknownByte="0" />
<Image name="texture" src="texture.gim" format="gim" compression="zlib" unknownByte="0" />
</ImageTree>
</ImageTree>
<FontTree> <!-- parent node from which all fonts descend from -->
<FontTree>
<FontStyle name="fontstyle_default" unknownShort1="0x0" unknownShort2="0x0" unknownInt3="0x0" unknownInt4="0x41600000" />
<FontStyle name="fontstyle_default" unknownShort1="0x0" unknownShort2="0x0" unknownInt3="0x0" unknownInt4="0x41600000" />
</FontTree>
</FontTree>
<TextTree> <!-- parent node from which all text language resources descend from -->
<TextTree>
<TextLang src="00_Japanese.xml" language="00_Japanese" format="utf16" />
<TextLang src="00_Japanese.xml" language="00_Japanese" format="utf16" />
</TextTree>
</TextTree>
<ModelTree> <!-- parent node from which all model resources descend from -->
<ModelTree>
<Model name="page_model" src="page_model.gmo" format="gmo" compression="zlib" unknownByte="0" />
<Model name="page_model" src="page_model.gmo" format="gmo" compression="zlib" unknownByte="0" />
</ModelTree>
</ModelTree>
<SoundTree> <!-- parent node from which all sound resources descend from -->
<SoundTree>
<Sound name="sound" src="sound.ch*.vag" format="vag" channels="2" />
<Sound name="sound" src="sound.ch*.vag" format="vag" channels="2" />
</SoundTree>
</SoundTree>
<ObjectTree> <!-- parent node from which all object pages descend from -->
<ObjectTree>
<Page name="main_page" pageMode="0x111" pageOnInit="event:script:/main/onInitMainPage" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
<Page name="main_page" pageMode="0x111" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
<Plane name="main_page_plane" ...standard object attributes here... planeImage="image:texture" planeResizeMode="0x0">
<Plane name="main_page_plane" ...standard object attributes here... planeImage="image:texture" planeResizeMode="0x0">
<ModelObject name="main_page_model"  ...standard object attributes here...  modelobjectModel="model:page_model"></ModelObject>
<ModelObject name="main_page_model"  ...standard object attributes here...  modelobjectModel="model:page_model"></ModelObject>
Line 37: Line 333:
</Page>
</Page>
</ObjectTree>
</ObjectTree>
<AnimTree> <!-- parent node from which all animation sequences descend from -->
<AnimTree>
<Animation name="main_page_fade">
<Animation name="main_page_fade">
<Fade object="object:main_page_plane" duration="100" accelMode="0x0" transparency="1" />
<Fade object="object:main_page_plane" duration="100" accelMode="0x0" transparency="1" />
<FireEvent event="anim:main_page_fade" />
</Animation>
</Animation>
</AnimTree>
</AnimTree>
</MainTree>
</MainTree>
</RcoFile>
</RcoFile>
</syntaxhighlight>}}
</syntaxhighlight>}}


Line 61: Line 357:


===VSMXFile===
===VSMXFile===
None of the PS3 rco's uses a VSMXFile. But some PSP .rco's uses it
None of the PS3 rco's uses a VSMXFile
 
*rough explain of how it works
**The purpose of this script is to communicate with the associated module/sprx, the code inside the script is [[PlayStation JavaScript]] based (see also [[VSMX]] format) and it can call functions with parameters from the module/sprx. It works as a simple way to store predefined actions for the .sprx inside the .rco with a bit of code control involved. The [[RCOXML Objects]] captures the button presses from the controller and based on them loads the script using the buttons as parameters, then the code inside the script is processed and triggers the .sprx
**An script can contain several different actions (are actually .js code functions) and his names are the same than the action names used in [[RCOXML Objects]], as example: '''OnFocusRight''' (action triggered when moving right in the controller)


===ImageTree===
===ImageTree===
Line 71: Line 363:
===FontTree===
===FontTree===
Only used in PS3, only used in sysconf_plugin.rco and hknw_plugin.rco
Only used in PS3, only used in sysconf_plugin.rco and hknw_plugin.rco
*sysconf_plugin.rco example:
{{Boxcode|content=<syntaxhighlight lang="xml">
<FontTree>
<FontStyle name="fontstyle_sanserif" unknownShort1="0x1" unknownShort2="0x0" unknownInt3="0x0" unknownInt4="0x41600000" />
</FontTree>
</syntaxhighlight>}}
*hknw_plugin.rco example:
{{Boxcode|content=<syntaxhighlight lang="xml">
<FontTree>
<FontStyle name="fontstyle_default" unknownShort1="0x0" unknownShort2="0x0" unknownInt3="0x0" unknownInt4="0x41600000" />
<FontStyle name="fontstyle_light" unknownShort1="0x0" unknownShort2="0x101" unknownInt3="0x0" unknownInt4="0x41600000" />
</FontTree>
</syntaxhighlight>}}


===TextTree===
===TextTree===
Line 85: Line 392:


===AnimTree===
===AnimTree===
=Event types=
==native==
Loads a predefined set of actions from the embedded code in the associated .sprx
==object2==
Loads an object from '''ObjectTree'''
==anim==
Loads an animation from '''AnimTree'''
==script==
Loads the [[VSMX]] script from '''VSMXFile'''
=Measure units=
Positions, in pixels with "world coordinates" (0,0,0 of the x,y,z axis) in center of the screen
Sizes, in pixels, negative numbers mirrors the image
Resizes, in percentage in a scale from 0 up to 1, negative numbers mirrors the image
Colors, in RGBA (red, green, blue, alpha) in a scale from 0 up to 1, where 1 represents the max value posible of 255
Times, in miliseconds, where 1000 is one second
Angles, in [https://en.wikipedia.org/wiki/Radian radians] (for rotations over the x,y,z axis), where '''radians=(π/180)*degrees''' (and '''degrees=(180/π)*radians'''), as example for a full circunference of 360º degrees: radians=(3.14/180)*360=6.28 so... 360º degrees = 6.28 radians


{{File Formats}}
{{File Formats}}
<noinclude>[[Category:Main]]</noinclude>
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)