PS3 XForge PS QRC Tool - Modifying aspects of the XMB is now easier then ever.

Discussion in 'PS3 Homebrew' started by pink1, Feb 15, 2020.

By pink1 on Feb 15, 2020 at 4:11 AM
  1. 1,903

    pink1 Moderator Developer

    Feb 25, 2015
    Likes Received:
    Trophy Points:
    We have seen many XMB visual mods published so far in the lifetime of the PS3 but the QRC format (a type of container) has been always problematic, tricky, and very restricted. XForge is intended to solve all this problems once for all, it allows full freedom to rebuild the QRC files and modify all his contents

    There are many files inside the QRC containers that are candidates to be modified, XForge is the first tool that allows to modify them in a "noob friendly" way, everything made from a intuitive interface with preview panels

    Say goodbye to the previous manual methods that required dealing with zlib compressed files or injecting them with a hex-editor to create a custom wave, to replace XMB main icons, to change background wallpapers, etc... XForge supersedes all that tutorials, manuals methods, and tools, there is a long list of features supported by XForge, for more detailed descriptions see the feature list below​

    XForge logo 722 copy.png
    Download: XForge

    Feature List_________________________________________________________________________________________
    • All QRC file types supported (QRCC and QRCF)
    • ZLIB compression and decompression transparent management (no user interaction needed)
    • Individual extraction/injection of files of any size
    • Full extraction of all files, using an additional xml control file for rebuilding purposes
    • Full rebuilding from the xml control file, generates QRC files identicals to the originals
    • QRCC to QRCF, and QRCF to QRCC conversions, generates files identicals to the originals
    • Build custom QRC files 100% from scratch, or adding/removing files from the officials
    • Several display panels: FileList (all types), TextViewer (MNU, TXT, INI, PATH), ImageViewer (BMP, JPG, TGA, DDS), HexViewer
    • Compatibility with sce-cgcdisasm.exe (tool not included in XForge releases) to dissassemble FPO and VPO files on the fly
    • Syntax highlighting in the TextViewer for MNU, TXT, INI, PATH (and optionally FPO and VPO)
    • MD5 hash info of QRC files and all his file contents, with identification of official files (initial support)
    • Advanced QRC internal structure file info (for debugging, development or research purposes)
    • Optional custom file extension system icons for QRC.ico and QRCF.ico
    • Optional custom file extension renaming at extraction time
    • Extensive drag and drop features - Drag files into XForge from Windows explorer, and out of XForge to Windows explorer.
    • Ability to open 2 or more XForge instances with different QRC's and drag-and-drop files between them.
    • Double click files on filelist to open them in your preferred editor application that's associated with that file type
    • Compatible with Microsoft Windows XP onwards (requires .Net framework 4.0)

    System icons
    MNU, TXT, INI, PATH viewer with syntax highlighting
    FPO/VPO viewer and dissassembler with syntax highlighting
    BMP, JPG, TGA, and DDS imageviewers



    • This building method is inspired by rcomage, at extraction time XForge generates a XML control file for rebuilding purposes (located at root of the extraction path). The QRC file is built by loading the XML control file

      1) Open the QRC file with [File]>[Open]
      2) Extract all contents from the QRC file with the option [File]>[Extract All]. This will create a control XML file
      3) At this point you can modify or replace all extracted files
      4) Build the new QRC file by using the control XML file with the option [File]>[Open]

    • This method allows to replace individual files by using the buttons in XForge interface

      1) Open the QRC file with [File]>[Open]
      2) Extract files individually with the button [Extract File]
      3) Replace files individually with the button [Replace File]
      4) Save QRC file with the button [Save QRC File]

    • This is a direct conversion in between QRC and QRCF

      1) Open the QRC/QRCF file with [File]>[Open]
      2) Convert the file with [Tools]>[Convert]>[QRC to QRCF] or [QRCF to QRC]

    Credits, History, and Changelog________________________________________________________________

    • First our team
      @pink1 Programming & development, research of the qrc format
      @sandungas For texting, icons/images, research of the qrc format & development consulting
      @DeViL303 For getting the team together with the idea of making the app, researching modding the qrc, texting & development consulting
      @Berion For texting & development consulting
      I can't thank these guys enough for all of the time and energy they put into this.

      We'd like to give credit to all of the other developers and members from over the years who have helped in any way.

    • Working with @sandungas @DeViL303 & @Berion over the past few weeks we have been able to make a few good jumps with the ps3 QRC file(mainly the earth.qrc).
      1. First we were able to replace files the same size or smaller(cool but not really new).
      2. After looking at the wiki for awhile we thought why not try editing the TOC (we know all of the values from the work of the amazing guys that reversed the format). This worked! We were able to expand the size of the files inside of the qrc.
      3. After playing with that we decided to try extracting the qrc to a folder then building a new one from it. To do this we also create a xml file with the a list of the qrc files in the order they are inside the qrc.
      4. This xml is used to build the new qrc. We have two spaces for each file first we have the source file then we have the id(the name in the qrc). By editing this file we can build a custom qrc only needing to extract & then build in the program after editing.
      5. Specific imageviewer preview modes for the special DDS file formats (mimicking the look of PS3 XMB)
      6. Specific textviewer syntax corrections for problematic files (EOL windows to unix conversions, standarization of control characters)

    • Initial release
    Last edited by a moderator: Apr 13, 2020


Discussion in 'PS3 Homebrew' started by pink1, Feb 15, 2020.

    1. LuanTeles
    2. LuanTeles
      LOL i did something wrong haha


      Glass Effect (really cool every particle affects all xmb item)


      THis with contour


      I think we can do cool things in there, but you know i'm not good with it, i just start throwing random 9 in every values :P


      Okay, i just incresed the glass by 0.1 and the Reflexion by 6 and explosure decreased by 0.2

      And the xmb looks amazing, the icons are a little more clear, the reflexion is a little increased and with a little more glass effect

      And i activated all supersampling ( i didn't notice any difference but it's okay :P )
      Last edited: May 10, 2020
      DeViL303 and pinky like this.
    3. sandungas
      Yes, is because there are some places in the OFW (i dont remember) where it can be seen the name "super sampling" literally

      But im not sure what it does exactly in PS3
      I mean... i understand the explaination in wikipedia, but i dont know how it looks visually when applyed to the XMB icons, what we see in the XMB is a combination of several visual effects and im not sure which one is the supersampling

      And it seems to be related with this files btw. As you can see there are 6 combinations posibles:

      In the files named ICONS.MNU (like the one in your screenshot) there is a setting that seems to be related SS METHOD:int:0
      I was wondering if that setting indicates which FPO file to load (from the 6 i mentioned) but i never tryed it
      Incase this is true.. you know, the default value is SS METHOD:int:0... but we could change it by 1, 2, 3, 4, or 5 to try to load the other FPO files
      Last edited: May 10, 2020
    4. sandungas
      And btw, another way to "force" the load of a different FPO file is... by replacing them :)

      As example, you can take the file named icons.qrc/lib/icons/icons_no_ss.fpo and replace it by icons.qrc/lib/icons/icons_full_ss.fpo
    5. LuanTeles
      i'll try and make a screenshot to see if it affects anything,

      yeap, mine is already replaced, you made one once.

      i'll test every value to compare.

      the strange thing is that xmb icons has settings for gameboots, coldboots but they didn't even show there
    6. sandungas
      At that point i was patching the QRC structure to create "links" in between files, it was a bit weird to do it
      Now that we have XForge i suggest to revert that 6 FPO files to the originals and continue the experiments from there
      Otherway you are going to lost the track of what has been changed, lol

      Btw, while playing around with that 6 FPO files (the ones i mentioned in my previous post for supersampling and shaders) keep an eye at the visual effects applyed to the "app_home" icon in XMB

      The real reason why i started messing around with that files is because i was trying to enable the shaders effects for the app_home icon
      You know... we have most of the icons in XMB with nice shader effects, but the app_home doesnt have anything
      I think it happens because there is some point in the firmware (unknown) where the app_home is assigned to the "icons_no_ss.fpp" or "icons_no_ss_no_shad.fpo" or "icons_cheap_ss.fpp" or "icons_cheap_ss_no_shad.fpo"
      The idea is... if we replace that files by the "full_ss" versions then maybe the app_home is going to have nice visual effects
      Yeah is weird, that ICONS.MNU files looks pointless because there are no icons in that enviroments
      If you delete them most probably the firmware is going to load the other ICONS.MNU located at root of the QRC file
      So i think is safe to delete them (if you delete the ICONS.MNU files remember to delete them also in the list of the xml control file)
    7. sandungas
      I still have some screenshots that are going to help me a lot to explain how this DDS format works, but first things first... is needed to mention some concepts

      The images are intended to be displayed in monochrome, the graphic library used by XMB adds color to them "on runtime" based in color settings written as text
      The color, visibility, and distortions are afected by the "shaders" used in the XMB graphic library
      The XMB settings allows to change colors, shaders, etc... so the final look of the icons depends a lot of your settings (dont forget this ever when doing tests, otherway you are going to be completly lost)

      Ok, now lets get into the images, when you open them in a image editor program like photoshop it looks like this... but this is not realistic (at all), the problem is photoshop is not able to "combine" the channels correctly (and obviously, is not able to apply the shader effects used in XMB)

      So... forget about that view displaying all RGBA channels together, in XMB doesnt looks like that, what you need to do is to take a look at the channels individually by selecting the "channels" tab (located next to the layers tab) and disable the other channels, in the image below i made screenshots of every channel, from left to right:
      Red channel - Green channel - Blue channel - Alpha channel

      Now this makes a lot more sense, right ? :encouragement:
      As you can see the info stored in the Red and Green channels are not really colors... are "bumpmaps" used by the XMB shader effects, they represents the visual effects and distorsions that appears at he borders of the icon
      Red channel controls the shader efftects in X axis (note how the spotlight is located at right of the icon and shadow at left). And Green channel is for Y axis
      As mentioned before, the shader effects is something optional, can be disabled in XMB (so you could delete the R and G channels and the icon would still be visible in XMB)

      Long story short... the most important is the Blue channel, this is the only channel that contains data intended to be displayed as pixel info... but as mentioned before is monochrome
      Lets say... we only have 1 channel for "pixel data", and the fact that data is stored in blue channel doesnt means that pixels are blue (at all), just think in them as a color range in between black 0x00 and white 0xFF

      And to complete the explaination... Alpha channel, is standard, as you can see in my images above the diffference in between blue channel and alpha is just blue is excesivelly "smoothed" in the borders, and alpha is a lot better defined... this is because alpha is going to be used by the XMB as a "crop layer" (or an alpha mask in photoshop). Anyway, there is nothing special to mention about alpha channel, is exactly the same than a alpha channel of a PNG image

      So the resume is pretty much like this:
      R = shaders X
      G = shaders Y
      B = pixel data
      A = alpha

      And now probably someone is wondering what is doing XForge internally to display this special DDS images in his preview panel with the same look than XMB ? :D
      The trick is relativelly simple (but it took time to imagine it and find how to do it)
      It starts by doing some image transoformations and conversions (flips the image vertically, converts to PNG, not sure if something more)... and at some point it takes the pixel data from blue channel and overwrites red and green channels with it

      From that point we have the same info (taken from blue channel) in R,G, B channels... so the image is displayed correctly... in monochrome, and with the correct alpha effects

      We are missing the shader effects from R and G channels... but you know... is almost imposible to "simulate" that XMB shader effects in a PC program... this feature was completly out of the scope of XForge :P
      Last edited: May 23, 2020 at 7:18 PM
      Xploiting likes this.
    8. Xploiting
      Wow that eplained it perfect. It all makes way more sense now.

      Thanks @sandungas for taking the take to put that together! You and @pinky have seriously help me these past few days!!!
      sandungas likes this.

Share This Page