PS3:Custom Themes, Fonts, and XMB Waves

Themes are the background and icon design on your XMB. While there are many you can buy from PSN, you also have the option to use a custom modded one or create your own. Aside from themes, you can also change the default system font, and modify the background colors/images along with the waves in the background.

Font Collection ISO
A collection of custom fonts are available on the Fonts Collection ISO inside of XMB Mods Collection ISO. You can apply the fonts as follows:


 * 1) Download and transfer the ISO file to /dev_hdd0/PS3ISO/.
 * 2) Mount the ISO using a backup manager such as Multiman or Webman.
 * 3) Select the disk, and choose the desired font.
 * 4) Press Cross to install and Yes when prompted. You will be returned to the XMB.
 * 5) Reboot to verify that it works properly.

Third Party Themes
You can use themes created and posted online on your own console. PS3-Themes has the largest collection of themes available. You can apply them with the following:


 * 1) Download the theme and ensure it is a .p3t file type.
 * 2) On a USB storage device, create a folder called PS3, and another folder inside that called THEME. Place the .p3t inside of THEME.
 * 3) Plug the USB storage device into your PS3. Navigate to Settings → Theme Settings → Install, and choose the desired theme.
 * 4) * Alternatively, you can download the themes straight from PS3-Themes using your PS3 browser, or FTP your theme to `/dev_hdd0/theme` and install it from there.

Creating a Theme

 * You will need:
 * An image editing program (Paint.NET, GIMP, Photoshop, etc.)
 * PS3ThemeBuilder.zip


 * 1) Extract PS3ThemeBuilder.zip. Install ThemeBuilder2.5Full.exe, followed by ThemeBuilder3.0Upgrade.exe, and then move the contents of the "4.0 Beta 2" folder to into the installation directory you chose (`C:\Program Files (x86)\PS3 Theme Builder\` is the default).
 * 2) Launch PS3 Theme Builder and select "New Theme" in the bottom left. You can either copy an existing theme (.XML format) or create a new one.
 * 3) You will be brought to the "Theme Information" tab in which you can specify preview information for your theme. The fields are self-explanatory and only the Title and Author fields are required. For images:
 * 4) * The Theme Icon must be 64x64 pixels.
 * 5) * The Author Icon must be 64x64 pixels.
 * 6) * The Theme Preview must be 480x270 pixels.
 * 7) Select the "Icons, Colors, Font" tab at the top. Here you can:
 * 8) * Choose the general theme color on the right side
 * 9) * Choose he font style
 * 10) * Upload pointer images (cursors) used in the web browser (48x48 pixels)
 * 11) * Upload the images for the category icons (128x128 pixels)
 * 12) * Upload the images for the icons in each category (128x128 pixels)
 * 13) Select the "Backgrounds, Notification, & Sounds" tab at the top. Select "Add a new background" in the bottom left. Here you can:
 * 14) * Upload a background to display on HDTVs (1920x1080 pixels)
 * 15) * Upload a background to display on standard TVs (640x480 pixels)
 * 16) * Upload new system sounds (which have to be converted to AT3 format using AT3 Converter)
 * 17) * Upload a notification icon
 * 18) Select "Test Drive" at the bottom of the window to display the XMB in an XMB simulator. If it gives an error, you are missing an important component.
 * 19) If you are happy with the results, select "Build Theme" at the bottom of the window. A command prompt window will appear and build the theme. Press enter when it is finished. It will generate a .P3T file in: `C:\Users\\Documents\My Playstation Themes\\`
 * 20) * If you receive an error regarding missing DLL files, this should be fixed by installing this C++ Redist Package.
 * 21) Move the .P3T file into a folder called THEME, move that folder into a folder called PS3, and move that folder onto the root of a USB device. Alternatively, you can FTP the file to `/dev_hdd0/themes/`. Navigate to Settings → Theme Settings → Install, and choose the desired theme.

Creating a Dynamic Video Theme
You can create a full screen looping video in your theme on the XMB, one with a border, or one with a video playing through a window in a full screen image. The process is essentially the same for each, but the guide below details the process for a full screen video. If you plan on using a border or window, use the respective "AnimatedWindow" or "AnimatedBorder" folder in the AnimatedTools folder instead of "AnimatedFull".


 * You will need:
 * Glowball's AnimatedTools folder
 * Notepad++
 * Photoshop with the NVIDIA DDS plugin
 * A GIF or 5 second video clip


 * 1) Open Photoshop. If you have a GIF, drag it into the main window. If you have a video file, select File → Import → "Video frames to layers", select your video, then make sure the "From Beginning To End" radio button is selected, the "Limit to Every... Frames" is checked and set to 2, and the "Make Frame Animation" box is checked before pressing OK.
 * 2) The frames of the clip will be displayed as separate layers on the right. Ensure that the number of frames is no more than the supported number for your resolution:
 * 3) * 15 frames at 1920x1080
 * 4) * 19 frames 1700x956
 * 5) * 34 frames 1280x720
 * 6) * 65 frames 920x516
 * 7) * 87 with 640x360 or 640x480.
 * 8) Press Ctrl+Alt+A to select all layers, then Layer → Show Layers. You may have to select Hide Layers first to get the option to show up. With the layers still selected, click Layer → Arrange → Reverse to sort the layers with Layer 1 on top.
 * 9) With all layers still selected, pick Image → Image Size, and set height and width to desired settings (1080 height and 1920 width max) and press OK.
 * 10) Extract the "AnimatedFull" folder from the AnimatedTools.zip file to a directory that has no spaces in the path name. An example would be `C:\Users\John\Desktop\AnimatedFull\`.  Select File → Scripts → "Export Layers to Files". Set it to export to AnimatedFull. Delete anything in the prefix field, select JPEG in the dropdown, make sure "Include in ICC Profile" is checked, and set Quality to 12. Click Run to export it.
 * 11) Select Window → Actions. Click the folder icon (New Set) in the bottom middle of the new window that appeared, and name it "DDS Save". Next, select the page icon (New Action) in the bottom middle of the window, name it "apply", and click Record.
 * 12) Select Layer 1, then File → Save As, and choose "DDS" from the drop down menu with any filename, and save it to your Desktop. In the settings window that pops up, select the first option `DXT1 RGB 4 bpp | no alpha` in the dropdown menu and save it.
 * 13) Press the Stop button in the Actions menu to stop recording, and delete the DDS file you just created. In the Actions menu you should see DDS Save → apply → Save. If there are more steps, select one and press the trash can in the bottom right.
 * 14) Select File → Automate → Batch..., and make sure your DDS Save and Apply action is selected. Choose the AnimatedFull folder you created earlier for both the "source" and "destination" fields. Check the "Override Action 'Save As" Commands" checkbox. In the first dropdown under "File Naming" choose "1 Digit Serial Number", and enter "1" for the Starting Serial #. Press OK to run it. It may take a while to process, but will generate a DDS file for each layer in your AnimatedFull folder. Check to make sure that the number of generated DDS files is equal to the number of frames you were working with. If not, open the last DDS file and check if it is one of your images, if it is not then delete it.
 * 15) Extract the contents of the AnimatedFull folder inside of AnimatedTools.zip into the AnimatedFull folder. Open AnimatedFull.js with Notepad++ and delete any line containing `, new Actor("##")` with the number being greater than the amount of frames you were working with. Save the file and exit.
 * 16) * On line 5 is base_color, which represents the color balance of the clip (in Red, Green, Blue, Alpha format). You can modify the Red Green or Blue values to any number between 0.0 and 2.0 to change the look of the clip without having to edit the source images. The alpha value is not supported, so leave that at the default of 1.0. Line 6 must be changed to match line 5.
 * 17) * Toward the bottom of the file there is `var duration = 0.09`. This is how long each frame will play for in seconds, and can be changed to your desired length.
 * 18) (For AnimatedWindow only) If you plan on using a window cutout instead of a full screen video, you will need to make your picture with a cutout. Open border.dds in your photo editor. Here you can edit the picture as desired. If you click the "Channel' button in the top right, and select the alpha channel, you will see a black rectangle where the window will be in the picture. You can change the size and shape of this rectangle. When finished, save it as a DDS and choose "DXT5 ARGB 8bpp | interpolated alpha" in the NVIDIA window dropdown.
 * 19) Open AnimatedFull.xml with Notepad++ and delete any set of lines of code following a line containing `mtrl_##` with the number being greater than the amount of frames you were working with. Save the file and exit.
 * 20) Extract the EXE folder from AnimatedTools.zip. Drag AnimatedFull.xml onto raf_compiler.exe within that folder. An Animated.raf will be generated within the AnimatedFull folder. Move Animated.raf into the "Theme" folder.
 * 21) Enter the "Theme" folder and open AnimatedFullTheme.xml in Notepad++. Change any information that you want regarding the theme author, theme name, category, and description. Save the file and exit.
 * 22) (Optional) You can modify any of the icons within the theme folder, which corresponds to icons on the XMB. Make sure to keep the same file size and height/width if you plan on editing it.
 * 23) Drag AnimatedFullTheme.xml onto p3t_compiler.exe. This will generate `AnimatedFullTheme.p3t`.
 * 24) On a USB storage device, create a folder called PS3, and another folder inside that called THEME. Place the .p3t inside of THEME. Plug the USB storage device into your PS3. Navigate to Settings → Theme Settings → Install, and choose the desired theme.
 * 25) * Alternatively, you can FTP your theme to `/dev_hdd0/theme` and install it from there.
 * 26) (Optional) Upload your theme to PS3-Themes.com to contribute to the community!

XMB Wave Collection ISO
A collection of XMB wave modifications are available on the XMB Mods Collection ISO. This will only work on firmwares above 4.00. You can apply the waves as follows:


 * 1) Download and transfer the ISO file to `/dev_hdd0/PS3ISO/`.
 * 2) Mount the ISO using a backup manager such as Multiman or Webman.
 * 3) Select the disk, and choose the desired wave.
 * 4) Press Cross to install and Yes when prompted. You will be returned to the XMB.
 * 5) Reboot to verify that it works properly.

Creating your own Waves
This tutorial will show you how to edit your PS3 XMB background waves and background colors/images.


 * You will need the following:
 * A hex editor such as HxD
 * SimplyZip
 * Notepad++
 * PS3 wave edit quick start.zip
 * If changing background colors/images: A DDS file editor such as Photoshop (and its DDS plugin) or the free software GIMP (and its DDS plugin)


 * 1) FTP into `/dev_flash/vsh/resource/qgl/` and copy your lines.qrc to your PC. This may instead be called dev_rebug or dev_blind. It is recommended to make a copy of this file to keep as a backup in case something goes wrong.
 * 2) Launch HxD (or another hex editor) and select File → Open and choose your lines.qrc file. Highlight the first eight pairs of numbers in the first row (so columns 00 through 07) and press the delete key on your keyboard. Click OK to accept the file size change. Press Save and minimize the program.
 * 3) Launch SimplyZip and select “External prog" and then “ZLIB (pack/unpack)". Choose your file and select the Decompress radio button and Start. A file called "lines" will be generated in the same directory as lines.qrc. Minimize the program.
 * 4) Open the "PS3 wave quick start.zip" and extract it. In the folder you will find template files to build your new waves with. You can edit any DDS or TGA file with your photo editing program, so long as you keep the physical size the same. Whenever you modify a DDS file, you will need to save it with the same settings as in the "dds save settings.png". The files you can modify are:
 * 5) * rgb-##.dds: The background color pattern for each month during the day. The label 01 through 12 indicates the month.
 * 6) * night-##.dds: The background color pattern for each month during the night. The label 01 through 12 indicates the month. Only shows if PS3 theme setting is set to "Original" mode.
 * 7) * proc_iridescent.tga: Color of particles around wave.
 * 8) * freslut#.tga: Fresnel luminescence texture; controls the brightness relative to the time of day.
 * 9) * Noise.tga: ???
 * 10) If you modified any of the above files, you will need to add it manually via HxD. In HxD, open your "lines" file (not lines.qrc). Now open a file you modified, press Ctrl+A and then Ctrl+C to copy the entire contents. Now open your "lines" files (not lines.qrc), press Ctrl+G, enter the corresponding offset value from the offsets.txt file, click OK, then press Ctrl+C to paste. You must repeat this process for each file you modified, and use the corresponding offset value for each. Save and exit when finished.
 * 11) Open “wave settings.js" using Notepad++ and modify any desired settings. You can see the proper titles of the sections in the "wave settings info.js" file to help. Specifically, the “override/black/LINE1.MNU" section is for the XMB background wave, and the “override/coldboot1/LINE1.MNU" section is for the Coldboot wave.
 * 12) * Ensure that you keep the same amount of characters in the file so that the file retains the same file size. Save the file when you are finished.
 * 13) If you modified the wave settings, then open "lines" file (not lines.qrc) in HxD. Now open wave_settings.js, press Ctrl+A and then Ctrl+C to copy the entire contents. Now open your "lines" files (not lines.qrc), press Ctrl+G, enter the offset value "000039f0", click OK, then press Ctrl+C to paste. Save when finished and minimize the program.
 * 14) In SimplyZip, select "Extenal progs" then "ZLIB (pack/unpack)" and open your "lines" (not lines.qrc) file, select the Compress radio button, and press Start. A new file called lines.zip will be generated.
 * 15) Open the lines.zip with HxD, and click directly to the left of the left-most byte. Select Edit → "Insert Bytes..." and enter "8" and for byte count and `51 52 43 43 00 86 B9 20` in the hex-values field. Press OK and you should see the bytes populate the very beginning of the file. Save the file and exit.
 * 16) Rename the lines.zip file to lines.qrc.
 * 17) Using FTP, upload your lines.qrc back into `/dev_flash/vsh/resource/qgl/`. This may instead be called dev_rebug or dev_blind. Reboot your console, and you should see your changes applied.
 * 18) * If your console does not boot successfully or does not look as intended, boot into recovery mode and reinstall your current firmware. It will be returned to the stock waves.