RCOXML Coding

From PS3 Developer wiki
Revision as of 07:03, 17 November 2015 by Sandungas (talk | contribs) (moved to RCOXML Objects and RCOXML animations)
Jump to navigation Jump to search

Description

RCOXML files are the XML descriptor files implicit inside Resource Container (RCO) files (.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

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

filename.rco RCOXML contents notes
MainTree
Name
ImageTree TextTree SoundTree ObjectTree AnimTree
ap_plugin.rco label No No No Yes No
audioplayer_plugin.rco label Yes Yes No Yes No
audioplayer_plugin_dummy.rco label No Yes No No No
audioplayer_plugin_mini.rco label No Yes No Yes No
audioplayer_plugin_util.rco label No Yes No Yes No Associated .sprx has a different name.
auth_plugin.rco label Yes Yes No Yes No
autodownload_plugin.rco label Yes Yes No Yes No
autoupdateconf_plugin.rco label Yes Yes No Yes No
avc2_game_plugin.rco label No Yes No No No
avc2_game_video_plugin.rco label Yes No No Yes No
avc2_text_plugin.rco label Yes Yes No Yes No
avc_game_plugin.rco label Yes Yes No Yes No Associated .sprx has a different name.
avc_plugin.rco label Yes Yes No Yes No
bdp_disccheck_plugin.rco label No Yes No Yes No
bdp_plugin.rco label Yes Yes No Yes Yes
bdp_storage_plugin.rco label No Yes No Yes No
campaign_plugin.rco label Yes Yes No Yes No
category_setting_plugin.rco label Yes Yes No No No
checker_plugin.rco label No No No Yes No Associated .sprx has a different name.
closedcaption_config_plugin.rco label Yes Yes No Yes No
comboplay_plugin.rco label Yes Yes No Yes No
custom_render_plugin.rco label Yes No No Yes Yes
data_copy_plugin.rco label No Yes No Yes No
deviceconf_plugin.rco label Yes Yes No Yes No
dlna_plugin.rco label Yes Yes No Yes No
download_plugin.rco label Yes Yes No Yes No
dtcpip_util.rco label No Yes No Yes No
edy_plugin.rco label Yes Yes Yes Yes No
eula_cddb_plugin.rco label Yes Yes No Yes No
eula_hcopy_plugin.rco label Yes Yes No Yes No
eula_net_plugin.rco label Yes Yes Yes Yes No
explore_category_friend.rco label Yes Yes No Yes No
explore_category_game.rco label Yes Yes No Yes No
explore_category_music.rco label Yes Yes No Yes No
explore_category_network.rco label Yes Yes No Yes No
explore_category_photo.rco label Yes Yes No Yes No
explore_category_psn.rco label Yes Yes No Yes No
explore_category_sysconf.rco label Yes Yes No Yes No
explore_category_tv.rco label Yes Yes No Yes No
explore_category_user.rco label Yes Yes No Yes No
explore_category_video.rco label Yes Yes No Yes No
explore_plugin_ft.rco label Yes Yes No Yes No
explore_plugin_full.rco label Yes Yes No Yes No Associated .sprx has a different name.
explore_plugin_game.rco label Yes Yes No Yes No
explore_plugin_np.rco label Yes Yes No Yes No
filecopy_plugin.rco label Yes Yes No Yes No
friendim_plugin.rco label Yes Yes No Yes Yes
friendim_plugin_game.rco label Yes Yes No Yes Yes Associated .sprx has a different name.
friendml_plugin.rco label Yes Yes No Yes No
friendml_plugin_game.rco label Yes Yes No Yes No Associated .sprx has a different name.
friendtrophy_plugin.rco label Yes Yes No Yes No
friendtrophy_plugin_game.rco label Yes Yes No Yes No Associated .sprx has a different name.
game_ext_plugin.rco label Yes Yes No Yes No
game_indicator_plugin.rco label Yes No No Yes No
game_plugin.rco label No Yes No Yes No Associated .sprx has a different name.
gamedata_plugin.rco label No Yes No Yes No
gamelib_plugin.rco label Yes No No Yes Yes
gameupdate_plugin.rco label No Yes No Yes No
hknw_plugin.rco label Yes Yes No Yes No
idle_plugin.rco label No No No Yes No
impose_plugin.rco label Yes Yes No Yes Yes Associated .sprx has a different name.
ingame_manual_plugin.rco label No Yes No Yes No
kensaku_plugin.rco label Yes Yes No Yes No
msgdialog_plugin.rco label No Yes No Yes No Associated .sprx has a different name.
mtpinitiator_plugin.rco label Yes Yes No Yes No
musicbrowser_plugin.rco label No No No Yes No
nas_plugin.rco label Yes Yes No Yes No
netconf_plugin.rco label Yes Yes No Yes No
newstore_effect.rco label No No No No No Empty file.
newstore_plugin.rco label Yes Yes No Yes No
np_eula_plugin.rco label Yes Yes No Yes No
np_matching_plugin.rco label Yes Yes No Yes No
np_multisignin_plugin.rco label Yes Yes No Yes No
np_sns_plugin.rco label Yes Yes No Yes No
np_trophy_ingame.rco label Yes Yes No Yes No
np_trophy_plugin.rco label Yes Yes No Yes No
npsignin_plugin.rco label Yes Yes No Yes Yes
osk_plugin.rco label Yes No Yes Yes No
oskfullkeypanel_plugin.rco label Yes Yes No Yes No
oskpanel_plugin.rco label Yes Yes No Yes No
pesm_plugin.rco label No No No Yes No
photo_network_sharing_plugin.rco label Yes Yes No Yes No
photolist_plugin.rco label No No No Yes No
photoupload_plugin.rco label Yes Yes No Yes No
photoviewer_plugin.rco label Yes Yes No Yes No
playlist_plugin.rco label Yes Yes No Yes No
podl_plugin.rco label No No No Yes No
poweroff_plugin.rco label No Yes No Yes No
premo_plugin.rco label Yes Yes No Yes Yes
print_plugin.rco label Yes Yes No Yes No
profile_plugin.rco label Yes Yes No Yes No
profile_plugin_mini.rco label Yes Yes No Yes No Associated .sprx has a different name.
ps3_savedata_plugin.rco label Yes Yes No Yes No
ps3_savedata_plugin_game_mini.rco label No Yes No Yes No
rec_plugin.rco label No No No Yes No
regcam_plugin.rco label Yes Yes Yes Yes No
remotedownload_plugin.rco label No Yes No Yes No
sacd_plugin.rco label Yes Yes No Yes Yes
scenefolder_plugin.rco label No No No Yes No
screenshot_plugin.rco label No Yes No Yes No
search_service.rco label No Yes No No No Associated .sprx has a different name.
software_update_plugin.rco label Yes Yes No Yes No
soundvisualizer_plugin.rco label Yes Yes No Yes No
strviewer_plugin.rco label No Yes No Yes No
subdisplay_plugin.rco label No No No Yes No Associated .sprx has a different name.
sv_pseudoaudioplayer_plugin.rco label Yes Yes No Yes No Associated .sprx has a different name.
sysconf_plugin.rco label Yes Yes No Yes No
system_plugin.rco label Yes Yes Yes Yes Yes Associated .sprx has a different name.
thumthum_plugin.rco label No Yes No Yes No
upload_util.rco label Yes Yes No Yes No
user_info_plugin.rco label No Yes No Yes No
user_plugin.rco label Yes Yes No Yes No
videoeditor_plugin.rco label Yes Yes Yes Yes No
videoplayer_plugin.rco label Yes Yes No Yes No
videoplayer_util.rco label No Yes No Yes No
vmc_savedata_plugin.rco label Yes Yes No Yes No
wboard_plugin.rco label Yes Yes No Yes No
webbrowser_plugin.rco label Yes Yes No Yes No
webrender_plugin.rco label Yes Yes No Yes No
xmb_ingame.rco xmb_plugin Yes Yes No Yes No
xmb_plugin_normal.rco xmb_plugin Yes Yes No Yes No Associated .sprx has a different name.
ycon_manual_plugin.rco label Yes Yes No Yes No
  • VSMXfile and ModelTree are not included in the table above because none of the PS3 .rco files includes them
  • Other .rco files from previous firmwares (not present in latest firmwares) using the MainTree name sample
    • xai_plugin.rco
    • wboard_plugin.rco

RCOXML Structure

Not all nodes below are required, and various object/anim entries are omitted.

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
			...
		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
			...

MainTree

All RCOXML files starts with the tag:

	<MainTree name="label">

MainTree represents the root of the container, so it seems the label is the name of the .rco container and is working as an identifyer of it

  • Is unknown how this labels works and his purpose, but follows a few rules:
    • The same label can be used by several .rco's that shares functions
    • This label names doesnt appears in the associated .sprx

VSMXFile

None of the PS3 rco's uses a VSMXFile

ImageTree

TextTree

ModelTree

None of the PS3 rco's uses a ModelTree

SoundTree

ObjectTree

AnimTree