PS3 Optimising XMB xmls on CFW

Oh, i missed that last zip you posted. Thanks!
That has TV category removed too, with TV apps showing at the bottom of video ;)

Once you have those xmls and rco loaded, you can delete the:
  • explore_category_tv.sprx
  • explore_category_psn.sprx
  • explore_category_friend.sprx
  • explore_category_tv.rco
  • explore_category_psn.rco
  • explore_category_friend.rco
  • category_tv.xml
  • category_psn.xml
  • category_friend.xml
  • hknw_plugin.sprx
  • hknw_plugin.rco
  • hknw_plugin folder of images in resources
  • all sprx with np in name.
  • etc, i deleted about 30 sprx from my system. :)
 
Last edited:
Slightly different , but still related to optimising xmls so I will put it here.

When calling a weblink from xmbml, this way is the most efficient and takes least amount of lines of xml:
Code:
<View id="seg_link">
 <Attributes>
 <Table key="link">
 <Pair key="icon_rsc"><String>tex_link</String></Pair>
 <Pair key="title_rsc"><String>msg_link</String></Pair>
 <Pair key="module_action"><String>http://www.google.com/</String></Pair>
 </Table>
 </Attributes>
 <Items>
 <Item class="type:x-xmb/xmlwebbrowser" key="link" attr="link"/>
 </Items></View>
By using type:x-xmb/xmlwebbrowser instead of type:x-xmb/module-action it means you don't need to define the module being used, so you can leave out this line:
Code:
<Pair key="module_name"><String>webrender_plugin</String></Pair>

Not important for one link on its own, but if you have hundreds or thousands of links like in webMAN or HAN Toolbox for example, or you have to write the xml on the console like in webmans case, then this way would be quicker/better in theory.
 
Last edited:
Nice work. :)

Would love to see slimmed down xmb for Rebug too.. Hate to see the friends, TV, Singstar and such bloat entries cluttering my XMB.

It would be cool if we could select these things at installation, tho.. ;)
 
Great Job!,
imo try deleting all the categories in xmb_ingame.rco except games, psn, friends and users.
I've done that & probably frees a lot of memory, it might help to avoid crashes while pressing ps button in game.
I would say delete the game & users category too if possible.
 
hmm ... your work is more interesting than I thought ... well..I was thinking of just removing the TV category, and getting the category APP to be removed, go to the Videos tab. Do you already have the file with this mod ready to be installed? or I'll have to try to do it for myself ?.
d0e0ffe199200ca2c6f33743d62004e4.jpg
 
removing the tv, or any, tier:

How To Remove Entire Tiers/Categories - This is fairly easy, so I'll keep it short. You need the xmb_plugin_normal.rco and the xmb_ingame.rco. Grab each from your dev_blind.

Then, extract with rco mage. After that, go into the main xml file, and delete the tiers you don't want from Object Tree/Page name/XMenu name/XMList name. After that's done, scroll to XMenu - menus: "0xa." Now, change that to reflect how many tiers you want. "0xa" = 10; "0x5" = 5. It's that simple.
 
removing the tv, or any, tier:

How To Remove Entire Tiers/Categories - This is fairly easy, so I'll keep it short. You need the xmb_plugin_normal.rco and the xmb_ingame.rco. Grab each from your dev_blind.

Then, extract with rco mage. After that, go into the main xml file, and delete the tiers you don't want from Object Tree/Page name/XMenu name/XMList name. After that's done, scroll to XMenu - menus: "0xa." Now, change that to reflect how many tiers you want. "0xa" = 10; "0x5" = 5. It's that simple.
Delete this:
<XMList name="list_tv" xmlistUnk1="0x0" xmlistImage="nothing" xmlistText="nothing"></XMList>
And change something here:
</XMenu>
</Page>
<Page name="page_xmb_indicator" pageMode="0x1101" pageOnInit="nothing" pageOnCancel="nothing" pageOnContext="nothing" pageOnActivate="nothing">
<Plane name="indicator" positionX="0" positionY="0" positionZ="0" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="0" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x0" positionOverrideY="0x0" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0">
<Plane name="indi_base" positionX="0" positionY="-74" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="560" sizeY="82" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x1200" onInit="nothing" positionOverrideX="0xc000000" positionOverrideY="0xd000500" positionOverrideZ="0x0" sizeOverrideX="0x700" sizeOverrideY="0x700" sizeOverrideZ="0x0" planeImage="image:tex_blank" planeResizeMode="0x3"></Plane>
<Plane name="indi_adjust" positionX="-26" positionY="0" positionZ="0" colorScaleR="0" colorScaleG="0" colorScaleB="0" colorScaleA="0" sizeX="0" sizeY="0" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x90020700" positionOverrideY="0x91020700" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" planeImage="nothing" planeResizeMode="0x0">
<Text name="clock" positionX="0" positionY="-12" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="1" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x3200" onInit="nothing" positionOverrideX="0x700" positionOverrideY="0x700" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" textMessage="nothing" textFontStyle="nothing" textFontMode="0x1000002" textUnk29="0x1" textFontSizeY="10" textTopColorScaleR="1" textTopColorScaleG="1" textTopColorScaleB="1" textBottomColorScaleR="1" textBottomColorScaleG="1" textBottomColorScaleB="1" textLineSpacing="0" textUnk37="0x0" textUnk38="0x0" textUnk39="0x0" textCharacterSpacing="0" textShadowOffsetX="4" textShadowOffsetY="-5" textShadowOffsetZ="0" textShadowColorScaleR="0.25" textShadowColorScaleG="0.25" textShadowColorScaleB="0.25" textShadowColorScaleA="1" textUnk48="0x0" textUnk49="0x0" textUnk50="0x0" textUnkFloat51="1" textUnkFloat52="1" textUnkFloat53="1" textUnkFloat54="1" textResizeMode="0xffffffff" textOverrideUnk56="0x13000000" textOverrideUnk57="0x3000000" textOverrideUnk58="0x0"></Text>
<Plane name="message" positionX="-244" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="32" sizeY="32" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x700" positionOverrideY="0x700" positionOverrideZ="0x0" sizeOverrideX="0x700" sizeOverrideY="0x700" sizeOverrideZ="0x0" planeImage="image:tex_indi_message" planeResizeMode="0x0"></Plane>
<Plane name="chat" positionX="-274" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="32" sizeY="32" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x700" positionOverrideY="0x700" positionOverrideZ="0x0" sizeOverrideX="0x700" sizeOverrideY="0x700" sizeOverrideZ="0x0" planeImage="image:tex_indi_chat" planeResizeMode="0x0"></Plane>
<Plane name="online" positionX="-342" positionY="0" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="32" sizeY="32" sizeZ="0" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x0" onInit="nothing" positionOverrideX="0x700" positionOverrideY="0x700" positionOverrideZ="0x0" sizeOverrideX="0x700" sizeOverrideY="0x700" sizeOverrideZ="0x0" planeImage="image:tex_indi_online" planeResizeMode="0x0">
<Text name="online_num" positionX="14" positionY="2" positionZ="0" colorScaleR="1" colorScaleG="1" colorScaleB="1" colorScaleA="1" sizeX="0" sizeY="0" sizeZ="1" sizeScaleX="1" sizeScaleY="1" sizeScaleZ="1" anchorMode="0x3100" onInit="nothing" positionOverrideX="0x700" positionOverrideY="0x700" positionOverrideZ="0x0" sizeOverrideX="0x0" sizeOverrideY="0x0" sizeOverrideZ="0x0" textMessage="nothing" textFontStyle="nothing" textFontMode="0x1000001" textUnk29="0x1" textFontSizeY="10" textTopColorScaleR="1" textTopColorScaleG="1" textTopColorScaleB="1" textBottomColorScaleR="1" textBottomColorScaleG="1" textBottomColorScaleB="1" textLineSpacing="0" textUnk37="0x0" textUnk38="0x0" textUnk39="0x0" textCharacterSpacing="0" textShadowOffsetX="4" textShadowOffsetY="-5" textShadowOffsetZ="0" textShadowColorScaleR="0.25" textShadowColorScaleG="0.25" textShadowColorScaleB="0.25" textShadowColorScaleA="1" textUnk48="0x0" textUnk49="0x0" textUnk50="0x0" textUnkFloat51="1" textUnkFloat52="1" textUnkFloat53="1" textUnkFloat54="1" textResizeMode="0xffffffff" textOverrideUnk56="0x16000000" textOverrideUnk57="0x3000000" textOverrideUnk58="0x0"></Text>
</Plane>
 
yes, I removed 5 tiers from the xmb. you can do this with a sprx patch as well, but in that case, it leaves an ugly empty space in its space, which can be hovered over. the rco edit is much easier without that problem.
 
hmm ... your work is more interesting than I thought ... well..I was thinking of just removing the TV category, and getting the category APP to be removed, go to the Videos tab. Do you already have the file with this mod ready to be installed? or I'll have to try to do it for myself ?.
d0e0ffe199200ca2c6f33743d62004e4.jpg
So you want to add the tv apps to the video category, that is easy. Just add this to the xml where you want them to show.

Code:
<Query
class="type:x-xmb/folder-pixmap"
key="gameDir"
src="xil://localhost/list?t=tv"
/>

If you also want the whats new type thing for TV pkgs, then add this query too:
Code:
<Query
class="type:x-xmb/folder-pixmap"
key="seg_welcome"
attr="seg_welcome"
src="sel://localhost/welcome?type=tv"
/>
and this segment anywhere at all:
Code:
<View id="seg_welcome">
<Attributes>
<Table key="welcome">
<Pair key="content_type"><String>tv</String></Pair>
  </Table>
</Attributes>
<Items>
<Item class="type:x-xmb/xmlwelcome" key="welcome" attr="welcome" />
</Items>
</View>
 
i have a question relating to this, when you delete and change items in game category, for example i changed "date" with "alphabetical", but when im in the xmb while in-game, its reset to it says "sort by date" again! it still function alphabetically, but it acts like i didnt rename it, why?

same with deleted folders, i'v successfully deleted the psvita utility folder, its gone from the xmb, but when i'm in-game, the folder reapears as if by magic! when i quit the xmb, its gone again!

are there other xml or rco files for the in-game xmb?? if yes, where are those files for me to edit them too?
 
Sorry if I bring this up at a wrong forum but I'm new at this and cant start my own topic.

I've been stripping down my xmb with succes. The last thing I cant get done is to remove the ps-plus icon at the right side option menu under game save (copy + ps-plus icon)

Someone who knows where the image is stored?
 
there was also the debug category with its own xml,
Code:
<Query key="user"    class="type:x-xmb/folder-pixmap" attr="user"    src="xmb://localhost/%flash/xmb/category_user.xml#root"    />
<Query key="photo"   class="type:x-xmb/folder-pixmap" attr="photo"   src="xmb://localhost/%flash/xmb/category_photo.xml#root"   />
<Query key="music"   class="type:x-xmb/folder-pixmap" attr="music"   src="xmb://localhost/%flash/xmb/category_music.xml#root"   />
<Query key="video"   class="type:x-xmb/folder-pixmap" attr="video"   src="xmb://localhost/%flash/xmb/category_video.xml#root"   />
<Query key="game"    class="type:x-xmb/folder-pixmap" attr="game"    src="xmb://localhost/%flash/xmb/category_game.xml#root"    />
<Query key="network" class="type:x-xmb/folder-pixmap" attr="network" src="xmb://localhost/%flash/xmb/category_network.xml#root" />
<Query key="friend"  class="type:x-xmb/folder-pixmap" attr="friend"  src="xmb://localhost/%flash/xmb/category_friend.xml#root"  />
<Query key="avchat"  class="type:x-xmb/folder-pixmap" attr="avchat"  src="xmb://localhost/%flash/xmb/category_avchat.xml#root"  />
<Query key="debug"   class="type:x-xmb/folder-pixmap" attr="debug"   src="xmb://localhost/%flash/xmb/debug.xml#root"            />

in rco it looks like this:
Code:
<XMList name="list_user" unknown0="0x0" image="image:tex_user" unknownRef3="nothing"></XMList>
<XMList name="list_sysconf" unknown0="0x0" image="image:tex_system" unknownRef3="nothing"></XMList>
<XMList name="list_photo" unknown0="0x0" image="image:tex_photo" unknownRef3="nothing"></XMList>
<XMList name="list_music" unknown0="0x0" image="image:tex_music" unknownRef3="nothing"></XMList>
<XMList name="list_video" unknown0="0x0" image="image:tex_video" unknownRef3="nothing"></XMList>
<XMList name="list_game" unknown0="0x0" image="image:tex_game" unknownRef3="nothing"></XMList>
<XMList name="list_network" unknown0="0x0" image="image:tex_network" unknownRef3="nothing"></XMList>
<XMList name="list_friend" unknown0="0x0" image="image:tex_friend" unknownRef3="nothing"></XMList>
<XMList name="list_test" unknown0="0x0" image="nothing" unknownRef3="nothing"></XMList>

I tried adding the list_test item to 4.84 rco and increasing the menu count by 1, not that easy :)

If you look at explore_plugin.srpx there is hardcoded root with all categories and pointing to the null.xml, that's also a remap comand, maybe the sprx is mapping the one created on the fly to that xml, that's why if we delete it, we have a soft brick

EDIT:

Seems like i was wrong, but that's strange, if we add any item to the null.xml, the item will be added to the photo/music/video/network/psn/friend category

AY04vxR.png

6QzHuir.png

KdINZTu.png
MGRdLcA.png
GmLM5k7.png

woWbRWi.png


Edit: All the items that are toggled on/off by system settings such as DLNA. PS2 Savedata folder and etc, when not active is mapped to null.xml, that's why my test item showed on the categories
 
Last edited:
Slightly different , but still related to optimising xmls so I will put it here.

When calling a weblink from xmbml, this way is the most efficient and takes least amount of lines of xml:
Code:
<View id="seg_link">
 <Attributes>
 <Table key="link">
 <Pair key="icon_rsc"><String>tex_link</String></Pair>
 <Pair key="title_rsc"><String>msg_link</String></Pair>
 <Pair key="module_action"><String>http://www.google.com/</String></Pair>
 </Table>
 </Attributes>
 <Items>
 <Item class="type:x-xmb/xmlwebbrowser" key="link" attr="link"/>
 </Items></View>
By using type:x-xmb/xmlwebbrowser instead of type:x-xmb/module-action it means you don't need to define the module being used, so you can leave out this line:
Code:
<Pair key="module_name"><String>webrender_plugin</String></Pair>

Not important for one link on its own, but if you have hundreds or thousands of links like in webMAN or HAN Toolbox for example, or you have to write the xml on the console like in webmans case, then this way would be quicker/better in theory.

I just happened to come here randomly, and it's worth mentioning that using <Item class="type:x-xmb/xmlwebbrowser"> will not allow custom icons that are not included in the RCO (explore_plugin_full), it means that icon_rsc is mandatory.
 

Similar threads

Back
Top