PlayStation 3 Theme (P3T): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(new index, page reordered for future expansion)
(Updated P3T Compiler link due to original not working anymore)
 
(92 intermediate revisions by 11 users not shown)
Line 1: Line 1:
[[Category:Software]]
<div style="float:right">[[File:Tex_classic_theme.png|300px|thumb|left|Classic theme]]</div>
<div style="float:right">[[File:Tex_classic_theme.png|200px|thumb|left|Classic theme]]</div>
<div style="float:right">[[File:Tex_default_theme.png|300px|thumb|left|Original theme]]</div>
<div style="float:right">[[File:Tex_default_theme.png|150px|thumb|left|default theme]]</div>


==Description==
=Description=
P3T ('''P'''laystation '''3''' '''T'''heme) is a container. Themes can be created by Sony's official PlayStation 3 theme creator software or by theme compilers from third-party developers. PlayStation 3 themes are able to store images and sounds to customize the [[XMB]]. There is a basic introduction to themes in the official: [http://manuals.playstation.net/document/en/ps3/current/settings/themesettings.html Theme Settings manual]


*FW 2.00:
*Installation methods
**Ability to modify the PlayStation 3 XMB Home Menu icons or background design by using a theme compiler
**Downloaded from PSN (SEN) store
**[Colour], [Background] and [Font] have been added as options under [Theme Settings].
**Downloaded from web pages using the PS3 web browser (hosted in the server as: '''application/x-ps3-theme''' MIMEtype, and '''p3t''' file extension). E.g: [http://www.ps3-themes.com] [https://web.archive.org/web/*/http://ps3devwiki.com/files/Visuals/Themes]
**Ability to select [Brightness] as an option under [Theme Settings] > [Background].
**USB, CF, SD, MS, external storage from path: '''device:/PS3/THEME/Theme Name.p3t'''
**Game discs extras icons (see: [http://www.ps3devwiki.com/wiki/PARAM.SFO#Creating_Discs Creating Discs])
**Games main menu (the installation of the theme can be unlocked after completing some requirements inside the game)
**Install packages (.pkg containing an encrypted theme under [http://www.psdevwiki.com/ps3/EDAT_files| .edat file])
**Adding themes manually in the default install path: '''dev_hdd0/theme/Theme Name.p3t'''
**Replacing the preinstalled theme that comes with the firmware in path: '''dev_flash/vsh/resource/theme/01.p3t'''


*FW 3.00:
*There is an small chance of crashing XMB when applying a malformed theme (and consecutive PS3 crashes when rebooting), can be easily fixed by entering "recovery menu" and using the option "Restore Default Settings" (only restores the user configurations made in "XMB settings column")
**Support for new Dynamic Custom Themes.
*Other type of crashes happens when the theme is dynamic (contains a [[Rich Appearance Format (RAF) | .raf]] scene in the backgound). The .raf scene uses a script that runs in real time when the animation is played and usually contains aritmetic operations to calculate positions along time, etc... any problem derivated from code errors of the script or calculations out of order can make the ram to be overloaded (there is a limited amount available for .raf animations). When this happens the .raf scene crashes (but usually the console doesnt crashes is only the animation played at the background what crashed)
**The default theme has been changed to an updated version of the 'Original' waves theme (the original theme has been renamed 'Classic').
**XMB icons now change colour along with the theme depending on the time of day.


*Installation
{{Boxframe1|content='''Firmware changes related with XMB and Themes'''
**From USB (and CF/SD/MS memorycards): /PS3/THEME/*.p3t
*Firmware [[1.90_CEX|1.90]]:
**From disc (or fake disc): Infos on [http://www.ps3devwiki.com/wiki/PARAM.SFO#Creating_Discs Creating Discs]
**Added [[XMB]] {{icon category settings}} '''⇨ [Theme settings] ⇨ [Background] ⇨ [Wallpaper]'''. Background setting can use an image from internall HDD. (this image is copied to user profile folder in path: '''dev_hdd0/home/<userid>/theme/wallpaper.png''')
**From PS3 INTERNET browser & SEN STORE
**From FW
**From Games
**From PKG (with EDATA)
**Manually by copying the *.p3t inside the /dev_hdd0/theme folder


*Firmware [[2.00_CEX|2.00]]:
**Added [[XMB]] {{icon category settings}} '''⇨ [Theme settings] ⇨ [Theme]'''. Static Themes support. Allows to use custom themes that change the icons, wallpaper, color, font, and the click sounds See [[Qt Resource Container (QRC)]] page
**Added [[XMB]] {{icon category settings}} '''⇨ [Theme settings] ⇨ [Color]'''. (original = changes with the month, 1-12 = the colors predefined for each month)
**Added [[XMB]] {{icon category settings}} '''⇨ [Theme settings] ⇨ [Background] ⇨ [Brighness]''' (normal, -1, -2, -3, -4. -5)
**Added [[XMB]] {{icon category settings}} '''⇨ [Theme settings] ⇨ [Font]''' (original, rounded, pop). See [[XMB Fonts]] page


==Theme Contents==
*Firmware [[3.00_CEX|3.00]]:
**Added Dynamic Themes support. Allows the user to install animated themes. These themes may feature animated backgrounds which change throughout the day or respond to user input. See [[Rich Appearance Format (RAF)]] page
**Added Dynamic brightness. XMB now change color depending on the time of day.
**The old theme has been renamed to 'Classic'. The default theme has been changed to an updated version of the 'Original' waves theme with an animated sparkle effect
**Night time black theme has the current month color as a basis instead of white. ?
}}


====Theme Scene (.XML)====
=P3T structure=
See: [[CXML Containers]] page


{{Boxcode|content=<syntaxhighlight lang="xml">
=Theme Tools=
<?xml version="1.0" encoding="UTF-8"?>
Tools to compile, extract, or manage themes
<!----------------------------------->
<!-- Reserved for notes if needed  -->
<!----------------------------------->
<theme>
<infotable>
<info
name="Theme Name"
icon="themeicon.png"
iconsize="16512"
url="http://www.ps3devwiki.com"
author="You"
authoricon="authoricon.png"
authoriconsize="16512"
genre="Modding"
version="666"
comment="No comment, thxbye"
preview="preview.png"
previewsize="518528" 
mtime="20081010105635"
/>
<!-- icon = theme icon (64x64, 32-bit PNG) -->
<!-- authoricon = author icon(64x64, 32-bit PNG) -->
<!-- preview = preview icon of the theme (480x270, 24-bit PNG) -->
<!-- mtime = theme update date (YYYYMMDDHHMMSS) -->
</infotable>
<color selection="10" /> <!-- From 1 to 12, same color than monthly wallpapers  -->
<font selection="1" /> <!-- Original: 0, Rounded: 1, Pop: 2 -->
<notification src="notification.png" /> <!-- Notification windows background, at top-right corner of XMB -->
<icontable> <!-- All this icons are 128x128, 24-bit PNG, except the ones especifyed -->
<!-------------------------- horizontal row -------------------------->
<icon id="icon_user" src="icon_user.png" />
<icon id="icon_setting" src="icon_setting.png" />
<icon id="icon_photo" src="icon_photo.png" />
<icon id="icon_music" src="icon_music.png" />
<icon id="icon_video" src="icon_video.png" />
<icon id="icon_game" src="icon_game.png" />
<icon id="icon_network" src="icon_network.png" />
<icon id="icon_friend" src="icon_friend.png" />
<icon id="icon_tv" src="icon_tv.png" />
<!-------------------------- user column -------------------------->
<icon id="icon_poweroff" src="icon_poweroff.png" />
<icon id="icon_newuser" src="icon_newuser.png" />
<!-------------------------- settings column -------------------------->
<icon id="icon_update" src="icon_update.png" />
<icon id="icon_game_setting" src="icon_game_setting.png" />
<icon id="icon_bdvd_setting" src="icon_bdvd_setting.png" />
<icon id="icon_music_setting" src="icon_music_setting.png" />
<icon id="icon_chat_setting" src="icon_chat_setting.png" />
<icon id="icon_system_setting" src="icon_system_setting.png" />
<icon id="icon_theme_setting" src="icon_theme_setting.png" />
<icon id="icon_datetime_setting" src="icon_datetime_setting.png" />
<icon id="icon_powersave_setting" src="icon_powersave_setting.png" />
<icon id="icon_accessory" src="icon_accessory.png" />
<icon id="icon_printer_setting" src="icon_printer_setting.png" />
<icon id="icon_display_setting" src="icon_display_setting.png" />
<icon id="icon_sound_setting" src="icon_sound_setting.png" />
<icon id="icon_security_setting" src="icon_security_setting.png" />
<icon id="icon_remoteplay_setting" src="icon_remoteplay_setting.png"/>
<icon id="icon_network_setting" src="icon_network_setting.png" />
<icon id="icon_setting_item" src="icon_setting_item.png" />
<!-------------------------- photo/music/video columns -------------------------->
<icon id="icon_photo_default" src="icon_photo_default.png" />
<icon id="icon_photo_album_default" src="icon_photo_album_default.png" />
<icon id="icon_music_default" src="icon_music_default.png" />
<icon id="icon_music_album_default" src="icon_music_album_default.png" />
<icon id="icon_video_default" src="icon_video_default.png" />
<icon id="icon_video_album_default" src="icon_video_album_default.png" />
<!-------------------------- game column -------------------------->
<icon id="icon_gamedata" src="icon_gamedata.png" />
<icon id="icon_savedata" src="icon_savedata.png" />
<icon id="icon_savedata_minis" src="icon_savedata_minis.png" />
<icon id="icon_vmc" src="icon_vmc.png" />
<icon id="icon_newvmc" src="icon_newvmc.png" />
<icon id="icon_trophy" src="icon_trophy.png" />
<!-------------------------- network column -------------------------->
<icon id="icon_onlinemanual" src="icon_onlinemanual.png" />
<icon id="icon_remoteplay" src="icon_remoteplay.png" />
<icon id="icon_inet_search" src="icon_inet_search.png" />
<icon id="icon_browser" src="icon_browser.png" />
<icon id="icon_download" src="icon_download.png" />
<!-------------------------- psn column -------------------------->
<icon id="icon_accountmanage" src="icon_accountmanage.png" />
<!-------------------------- friends column -------------------------->
<icon id="icon_blocklist" src="icon_blocklist.png" />
<icon id="icon_addfriend" src="icon_addfriend.png" />
<icon id="icon_playermet" src="icon_playermet.png" />
<icon id="icon_chat" src="icon_chat.png" />
<icon id="icon_chatroom" src="icon_chatroom.png" />
<icon id="icon_chatroom_text" src="icon_chatroom_text.png" />
<icon id="icon_mbox" src="icon_mbox.png" />
<icon id="icon_mbox_received" src="icon_mbox_received.png" />
<icon id="icon_mbox_sent" src="icon_mbox_sent.png" />
<icon id="icon_mbox_create" src="icon_mbox_create.png" />
<!-------------------------- storage devices -------------------------->
<icon id="icon_ms" src="icon_ms.png" />
<icon id="icon_sd" src="icon_sd.png" />
<icon id="icon_cf" src="icon_cf.png" />
<icon id="icon_usb" src="icon_usb.png" />
<icon id="icon_psp" src="icon_psp.png" />
<icon id="icon_pspms" src="icon_pspms.png" />
<icon id="icon_usbcamera" src="icon_usbcamera.png" />
<icon id="icon_usbaad" src="icon_usbaad.png" />
<!-------------------------- media player -------------------------->
<icon id="icon_playing" src="icon_playing.png" />
<icon id="icon_mediaserver_search" src="icon_mediaserver_search.png" />
<icon id="icon_playlist" src="icon_playlist.png" />
<icon id="icon_playlist_add" src="icon_playlist_add.png" />
<icon id="icon_video_upload" src="icon_video_upload.png" />
<!-------------------------- default icons -------------------------->
<icon id="icon_default_h" src="icon_default_h.png" /> <!-- default icon for horizontal row (used when the theme doesnt contains an icon for a higher firmware)  -->
<icon id="icon_default_v" src="icon_default_v.png" /> <!-- default icon for vertical columns (used when the theme doesnt contains an icon for a higher firmware)  -->
</icontable>
<!-------------------------- background -------------------------->
<bgimagetable>
<bgimage hd="bgimage_hd.jpg" sd="bgimage_sd.jpg" />
</bgimagetable>
<!-------------------------- mouse pointers -------------------------->
<pointertable>
<pointer id="pointer_arrow" src="pointer_arrow.png" base_x="20" base_y="2" />
<pointer id="pointer_finger" src="pointer_finger.png" base_x="16" base_y="10" />
<pointer id="pointer_click" src="pointer_click.png" base_x="16" base_y="10" />
<pointer id="pointer_pen" src="pointer_pen.png" base_x="6" base_y="38" />
<pointer id="pointer_hand" src="pointer_hand.png" base_x="23" base_y="17" />
<pointer id="pointer_grab" src="pointer_grab.png" base_x="23" base_y="17" />
</pointertable>
<!-------------------------- sounds -------------------------->
<setable>
<se id="se_system_ok" src="se_system_ok.vag" /> <!-- General dialog open sound -->
<se id="se_decide" src="se_decide.vag" /> <!-- Enter sound -->
<se id="se_cancel" src="se_cancel.vag" /> <!-- Cancel sound -->
<se id="se_optionmenu" src="se_optionmenu.vag" /> <!-- Options menu open sound -->
<se id="se_cursor" src="se_cursor.vag" /> <!-- Cursor movement -->
</setable>
</theme>
</syntaxhighlight>}}


==P3Tcompiler==
P3Tcompiler is made by Sony. For a basic guide creating themes with p3tcompiler read the official manual: [http://us.playstation.com/support/answer/index.htm?a_id=1205 How do I create my own theme for the PlayStation®3 computer entertainment system?]
*Download links
**P3Tcompiler v2.00 included in: [https://web.archive.org/web/20160804062919/http://e1.dl.playstation.net/e1/downloads/ps3/themes/370/PS3_Custom_Theme_v200.zip]


----
With the program there is a sample theme ready to compile, you can separate the program folder and the sample folder to any path in your pc, and compile the sample theme just by "drag-and-drop" the simple.xml over ps3compiler.exe (or create a "direct access icon" in the desktop to the program and drag-and-drop .xml files over it). The compiled theme .pt3 is created in the same folder of the source .xml + lot of .gim files (this .gim files are generated in the conversion from .png--->.gim as a previous step before compiling, after compilation the .gim files are not erased)
Variations


*Reduced infotable
Or use the command line:
This is the minimal tested by me --[[User:Sandungas|Sandungas]] 14:05, 11 February 2013 (MSK) if you find some item of this table is not needed please delete the line
{{Keyboard|content=<syntaxhighlight lang="bash">
{{Boxcode|content=<syntaxhighlight lang="xml">
Usage : p3tcompiler.exe [-o] [output file(*.p3t)] [input file(*.xml)]
<infotable>
C:\PS3 Theme Compiler>p3tcompiler.exe -o "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name.xml"
<info
name="Theme Name"
icon="themeicon.png"
url="http://www.ps3devwiki.com"
author="You"
authoricon="authoricon.png"
genre="Modding"
version="666"
comment="No comment, thxbye"
preview="preview.png"
/>
</infotable>
</syntaxhighlight>}}
</syntaxhighlight>}}


*Localized info
==P3Textractor==
This texts replaces the "Theme Name" in the <infotable> with different languages for each region, the languages are the same ones used in [[Content_Information_Files#Languages]] and are only displayed when the XMB is configured in the same language
Made by [http://lukasz.dk/mirror/forums.ps2dev.org/viewtopic70d2.html?t=9342 codelogic in ps2dev forum], is from 2007 and advised in an alpha stage, can be downloaded from: [http://www.ps3-themes.com/theme-extractor p3textractor]


When the theme doesnt contains <localizedinfo> the default "theme Name" from <infotable> is used , for this reason is preferable to dont include <localizedinfo> (are not needed, and the name of the theme doesnt need to be translated in most cases)
This program extract the contents of a Theme.p3t and it works too by the "drag-and-drop" method, but the files are extracted to the same folder of the program, in a subfolder named like the original Theme.pt3 preceded by a "extracted"
{{Boxcode|content=<syntaxhighlight lang="xml">
 
<localizedinfo locale="es" name="Nombre del Tema"/>
Or use the command line:
<localizedinfo locale="jp" name="Theme Name"/>
{{Keyboard|content=<syntaxhighlight lang="bash">
long list....
Usage: p3textractor <input theme file> [destination path]
C:\PS3 Theme Extractor>p3textractor.exe "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name\"
</syntaxhighlight>}}
</syntaxhighlight>}}


====Themeicon and Authoricon (.PNG)====
==Playstation 3 Theme Builder==
https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm


====Theme Preview (.PNG)====
==Xross Media Simulator==
https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm


====XMB Icons (.PNG)====
=Theme Contents=


*Notes
==Theme Name (.XML)==
'''icon_default_v''' and '''icon_default_v''' are used when the theme don t have newest icons needed by XMB (or not build with). E.g. when installing a theme made in 2008 in a firmware released in 2013
This is the settings file of the theme, needed by the compiler to build the theme, it contains information about the theme and the author, and lists all the files that composes the theme.


====Notification window (.PNG)====
{{Boxcode|title=Theme_name.xml (complete sample)|code=<syntaxhighlight lang="xml">
 
<?xml version="1.0" encoding="UTF-8"?>
====Mouse Pointers (.PNG)====
<theme>
 
<!--------------------------------------------------------------------------------------------------------------- Theme Info -->
====Navigation Sounds (.VAG)====
    <infotable>
Sound effects as PlayStation Compressed Sound File.
        <info
 
            comment="Theme description"
-Total sound data under 256 KB.
            name="Theme name"
 
            author="Your name, nick, team, company, etc..."
*Stereo Sounds
            url="http://www.psdevwiki.com"
{{Boxcode|content=<syntaxhighlight lang="xml">
            authoricon="theme_author_icon_64x64.png"
<setable>
            version="v0.1 beta"
<se id="se_system_ok" left="se_system_ok.vag" right="se_system_ok.vag" /> <!-- General dialog open sound -->
            genre="PS3 Themes Design"
<se id="se_decide" left="se_decide.vag" right="se_decide.vag" /> <!-- Enter sound -->
            preview="theme_preview_480x270.png"
<se id="se_cancel" left="se_cancel.vag" right="se_cancel.vag" /> <!-- Cancel sound -->
            icon="theme_icon_64x64.png"
<se id="se_optionmenu" left="se_optionmenu.vag" right="se_optionmenu.vag" /> <!-- Options menu open sound -->
        />
<se id="se_cursor" left="se_cursor.vag" right="se_cursor.vag" /> <!-- Cursor movement -->
    </infotable>
</setable>
<!--------------------------------------------------------------------------------------------------------------- Icons -->
    <icontable>
        <!------------------------------------------------------------------------------------------------------- XMB Horizontal row -->
        <icon id="icon_user"                    src="icon_user.png"/>
        <icon id="icon_setting"                src="icon_setting.png"/>
        <icon id="icon_photo"                  src="icon_photo.png"/>
        <icon id="icon_music"                  src="icon_music.png"/>
        <icon id="icon_video"                  src="icon_video.png"/>
        <icon id="icon_game"                    src="icon_game.png"/>
        <icon id="icon_network"                src="icon_network.png"/>
        <icon id="icon_friend"                  src="icon_friend.png"/>
        <icon id="icon_tv"                      src="icon_tv.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB User column -->
        <icon id="icon_poweroff"                src="icon_poweroff.png"/>
        <icon id="icon_newuser"                src="icon_newuser.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Settings column -->
        <icon id="icon_update"                  src="icon_update.png"/>
        <icon id="icon_game_setting"            src="icon_game_setting.png"/>
        <icon id="icon_bdvd_setting"            src="icon_bdvd_setting.png"/>
        <icon id="icon_music_setting"          src="icon_music_setting.png"/>
        <icon id="icon_chat_setting"            src="icon_chat_setting.png"/>
        <icon id="icon_system_setting"          src="icon_system_setting.png"/>
        <icon id="icon_theme_setting"          src="icon_theme_setting.png"/>
        <icon id="icon_datetime_setting"        src="icon_datetime_setting.png"/>
        <icon id="icon_powersave_setting"      src="icon_powersave_setting.png"/>
        <icon id="icon_accessory"              src="icon_accessory.png"/>
        <icon id="icon_printer_setting"        src="icon_printer_setting.png"/>
        <icon id="icon_display_setting"        src="icon_display_setting.png"/>
        <icon id="icon_sound_setting"          src="icon_sound_setting.png"/>
        <icon id="icon_security_setting"        src="icon_security_setting.png"/>
        <icon id="icon_remoteplay_setting"      src="icon_remoteplay_setting.png"/>
        <icon id="icon_network_setting"        src="icon_network_setting.png"/>
        <icon id="icon_setting_item"            src="icon_setting_item.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Game column -->
        <icon id="icon_gamedata"                src="icon_gamedata.png"/>
        <icon id="icon_savedata"                src="icon_savedata.png"/>
        <icon id="icon_savedata_minis"          src="icon_savedata_minis.png"/>
        <icon id="icon_vmc"                    src="icon_vmc.png"/>
        <icon id="icon_newvmc"                  src="icon_newvmc.png"/>
        <icon id="icon_trophy"                  src="icon_trophy.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Network column -->
        <icon id="icon_onlinemanual"            src="icon_onlinemanual.png"/>
        <icon id="icon_remoteplay"              src="icon_remoteplay.png"/>
        <icon id="icon_inet_search"            src="icon_inet_search.png"/>
        <icon id="icon_browser"                src="icon_browser.png"/>
        <icon id="icon_download"                src="icon_download.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB PSN column -->
        <icon id="icon_accountmanage"          src="icon_accountmanage.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Friends column -->
        <icon id="icon_blocklist"              src="icon_blocklist.png"/>
        <icon id="icon_addfriend"              src="icon_addfriend.png"/>
        <icon id="icon_playermet"              src="icon_playermet.png"/>
        <icon id="icon_chat"                    src="icon_chat.png"/>
        <icon id="icon_chatroom"                src="icon_chatroom.png"/>
        <icon id="icon_chatroom_text"          src="icon_chatroom_text.png"/>
        <icon id="icon_mbox"                    src="icon_mbox.png"/>
        <icon id="icon_mbox_received"          src="icon_mbox_received.png"/>
        <icon id="icon_mbox_sent"              src="icon_mbox_sent.png"/>
        <icon id="icon_mbox_create"            src="icon_mbox_create.png"/>
        <!------------------------------------------------------------------------------------------------------- Default icons -->
        <icon id="icon_default_h"              src="icon_default_h.png"/>
        <icon id="icon_default_v"              src="icon_default_v.png"/>
        <icon id="icon_photo_default"          src="icon_photo_default.png"/>
        <icon id="icon_photo_album_default"    src="icon_photo_album_default.png"/>
        <icon id="icon_music_default"          src="icon_music_default.png"/>
        <icon id="icon_music_album_default"    src="icon_music_album_default.png"/>
        <icon id="icon_video_default"          src="icon_video_default.png"/>
        <icon id="icon_video_album_default"    src="icon_video_album_default.png"/>
        <!------------------------------------------------------------------------------------------------------- Devices -->
        <icon id="icon_ms"                      src="icon_ms.png"/>
        <icon id="icon_sd"                      src="icon_sd.png"/>
        <icon id="icon_cf"                      src="icon_cf.png"/>
        <icon id="icon_usb"                    src="icon_usb.png"/>
        <icon id="icon_psp"                    src="icon_psp.png"/>
        <icon id="icon_pspms"                  src="icon_pspms.png"/>
        <icon id="icon_usbcamera"              src="icon_usbcamera.png"/>
        <icon id="icon_usbaad"                  src="icon_usbaad.png"/>
        <!------------------------------------------------------------------------------------------------------- Media players -->
        <icon id="icon_playing"                src="icon_playing.png"/>
        <icon id="icon_mediaserver_search"      src="icon_mediaserver_search.png"/>
        <icon id="icon_playlist"                src="icon_playlist.png"/>
        <icon id="icon_playlist_add"            src="icon_playlist_add.png"/>
        <icon id="icon_video_upload"            src="icon_video_upload.png"/>
    </icontable>
<!--------------------------------------------------------------------------------------------------------------- Mouse pointers -->
    <pointertable>
        <pointer id="pointer_arrow"            src="pointer_arrow.png"    base_x="20"    base_y="5"/>    <!-- Arrow (default) -->
        <pointer id="pointer_pen"               src="pointer_pen.png"      base_x="5"      base_y="40"/>    <!-- Pen (text input) -->
        <pointer id="pointer_finger"           src="pointer_finger.png"    base_x="15"    base_y="10"/>   <!-- Hand Over Clickable Object -->
        <pointer id="pointer_click"             src="pointer_click.png"    base_x="15"    base_y="10"/>    <!-- Hand Clicking Object -->
        <pointer id="pointer_hand"             src="pointer_hand.png"      base_x="25"    base_y="20"/>   <!-- Hand Over Draggable Object -->
        <pointer id="pointer_grab"              src="pointer_grab.png"      base_x="25"    base_y="20"/>    <!-- Hand Dragging Object -->
    </pointertable>
<!--------------------------------------------------------------------------------------------------------------- Notification window -->
    <notification                              src="notification.png"/>
<!--------------------------------------------------------------------------------------------------------------- Navigation sounds -->
    <setable>
        <se id="se_cursor"                     src="se_cursor.vag"/>                                       <!-- Cursor movements: left, right, up, down -->
        <se id="se_optionmenu"                 src="se_optionmenu.vag"/>                                    <!-- Open/enter a options menu -->
        <se id="se_cancel"                      src="se_cancel.vag"/>                                       <!-- Close/exit a options menu -->
        <se id="se_decide"                     src="se_decide.vag"/>                                        <!-- Question -->
        <se id="se_system_ok"                  src="se_system_ok.vag"/>                                     <!-- Accept -->
    </setable>
<!--------------------------------------------------------------------------------------------------------------- Backgrounds -->
    <bgimagetable>
        <bgimage                                hd="hd_1.jpg"              sd="sd_1.jpg"/>
    </bgimagetable>
<!--------------------------------------------------------------------------------------------------------------- Font (0: original, 1: rounded, 2: pop) -->
    <font selection="1"/>
<!--------------------------------------------------------------------------------------------------------------- Color (1 to 12: color of a month, 0: changes with the month) -->
    <color selection="10"/>
</theme>
</syntaxhighlight>}}
</syntaxhighlight>}}


====Background (.JPG .RAF)====
===Other XML configurations===
 
*'''<localizedinfo>'''
*The background image (in themes without a .raf background)
Is posible to add translations for different languages for some contents of <info> by using <localizedinfo> (XMB replaces contents in the <info> by the contents of <localizedinfo>), each language is identifyed with a "letter code" listed in this table: [[Template:PlayStation Languages|Languages]]
-Max size of an image (JPEG normal format): 2MB.
-One theme file can contain at most 24 background images.
 
=====Static and slideshow Themes (JPG)=====
Contain the background(s) of the theme.


You can have different background for SD (640x480) or HD (1920x1080) resolutions.
Localized info texts are only displayed when the laguage setting used in XMB matches with the language used in the "locale" of the theme


Can be compiled into RAF directly (.DDS can be used also).
If the theme doesnt contains <localizedinfo> the default texts from <info> are used , so <localizedinfo> is not mandatory, and usually is not needed (most of the <info> contents doesnt need to be translated)


*Animated background
{{Boxcode|title=Theme_name.xml (section sample)|code=<syntaxhighlight lang="xml">
On the background image used:
    <infotable>
You can have more than one, each time you boot back to XMB, a new background will be display.
            <!-- default info -->
In that case it ll look like this:
        <info
(here it s 2 static JPEG background, SD or HD according to monitor resolution, 4 anim with different dynamic background)
            name="Theme Name"
            comment="No comment, thxbye"
        />


{{Boxcode|content=<syntaxhighlight lang="xml">
            <!-- localized info to replace for spanish language ("letter code "es") -->
<bgimagetable>
        <localizedinfo
  <bgimage hd="hd_1.jpg" sd="sd_1.jpg"/>
            locale="es"
  <bgimage anim="anim_1.jpg"/>
            name="Nombre del tema"
  <bgimage anim="anim_3.jpg"/>
            comment="No comentarios, graciasadios"
  <bgimage anim="anim_4.jpg"/>
        />
  <bgimage anim="anim_2.jpg"/>
    </infotable>
  <bgimage hd="hd_2.jpg" sd="sd_2.jpg"/>
</bgimagetable>
</syntaxhighlight>}}
</syntaxhighlight>}}
{{PlayStation Languages}}


=====Animated and 3D Themes (RAF)=====
*'''<color selection>'''
RAF ('''r'''ich '''a'''ppearance '''f'''ormat) is considered an "image format", themes can contain a raf file that is used as the background of the theme. This same format is used for the coldboot.raf animation when PS3 boots.
Color allows a value from 0 to 12. With 0 the color changes every month, and from 1 to 12 keeps a permanent color that matches with a month


It must comply with these restrictions :
This color selection affect themes in two different ways, one is a color filter applyed to several parts of the XMB like side menu or default icons (this effect over the icons is only visible when the theme doesnt have icons), and the other are background images in the same color (only visibles when the theme doesnt have a background)
-Textures size max: 15 mb
-Geometry & script size max: 1mb
-Actor size max: 1.20mb
-Actor number max: 128
-Cameras: 1
-Lights: 2 (ambient + point)
-Scripts: 1
-Models: 64 (with 8 animations each model)


*Object, skelleton, animation, lights
If the theme contains one or several backgrounds, the original backgrounds for months are not displayed, only the "color filter" value is applyed (e.g. in side menu when pressing triangle over an icon)
DAE ('''d'''igital '''a'''sset '''e'''xchange) is an XML file that contains COLLADA content. COLLADA is an open standard created by sony for interactive 3D applications. Is used to export and import files from 3-D authoring applications (Maya, and 3ds max) in .dae format https://collada.org/


*Script
{{XMB colors}}
.js (playstation javascript derivate, also known as PSJS)


*Textures
==Themeicon and Authoricon (.PNG)==
JPEG, DDS
icon = theme icon (64x64, 32-bit PNG)


==XMB color and bright settings==
authoricon = author icon(64x64, 32-bit PNG)
==Theme Preview (.PNG)==
preview = preview icon of the theme (480x270, 24-bit PNG)


Color of the option menu (and XMB waves when there are no background image) can be selected among the 12 (original per month or per default if none valid value) displayed on Theme Settings/Color (see color table below):
==XMB Icons (.PNG)==
All icons are 128x128, 32-bit PNG, except the ones in the next table


{| class="wikitable sortable"
{| class="wikitable sortable"
|+ color values are only orientative
! Color Sample || Color Selection || Month
|-
|-
| style="background-color:#8c8484; " | || 1 || January
! File !! Image type !! Notes
|-
|-
| style="background-color:#dca80b; " | || 2 || February
| icon_photo_default || rowspan="2" | 170x128, 32-bit .PNG || icon for photo without preview
|-
|-
| style="background-color:#6eae09; " | || 3 || March
| icon_photo_album_default || icon for folder with photos
|-
|-
| style="background-color:#d92c55; " | || 4 || April
| icon_video_default || rowspan="2" | 228x128, 32-bit .PNG || icon for video without preview
|-
|-
| style="background-color:#0a4d09; " | || 5 || May
| icon_video_album_default || icon for folder with videos
|-
|-
| style="background-color:#6c1ba4; " | || 6 || June
| icon_game_default || | 322x178, 32-bit .PNG || icon for game without ICON0.PNG
|-
|-
| style="background-color:#25a49b; " | || 7 || July
| icon_game_album_default || 314x178, 32-bit .PNG || icon for game group
|-
|-
| style="background-color:#093368; " | || 8 || August
|}
 
*Default icons
'''icon_default_h''' (default icon for horizontal row) and '''icon_default_v''' (default icon for vertical columns) are displayed in XMB when the theme doesnt have newest icons required by the firmware. E.g: when installing a theme made in 2008 in a firmware released in 2013
 
*Missing icons in newer firmwares ?... like PSvita ?
 
*Missing icons in the example ? (but supported by the compilers)
 
==Notification window (.PNG)==
<div style="float:right">[[File:Notification Window Frame - Stretching Layout.jpg|200px|thumb|left|Notification Window Frame - Stretching Layout]]</div>
Background image that appears at top-right corner of XMB for system messages (used e.g: to notify when a trophy is unlocked)
 
This image has transparent rounded corners, and is stretched by XMB depending of the length of the texts displayed, this stretching is made in the center of the image (not in the corners) to prevent deformation of the rounded corners.
{{clear}}
 
==Mouse Pointers (.PNG)==
(system_plugin.rco)
 
==Navigation Sounds (.VAG)==
(system_plugin.rco)
 
-Total sound data under 256 KB spreaded between all sound files. (or 150KB as suggested here: http://www.ps3-themes.com/forum/ps3-themes/sound-tutorial-new )
 
Sound effects as PlayStation Compressed Sound File.
 
Create the sound files in WAV format @ 44100Hz/16bit-Mono (or lower quality to obtain smaller files). Then use MFaudio v1.1 to convert from WAV to VAG
 
{{Boxcode|title=Fake Stereo Sounds (same sound used in left and right channels|code=<syntaxhighlight lang="xml">
    <setable>
        <se id="se_system_ok"              left="se_system_ok.vag"          right="se_system_ok.vag"/>
        <se id="se_decide"                left="se_decide.vag"            right="se_decide.vag"/>
        <se id="se_cancel"                left="se_cancel.vag"            right="se_cancel.vag"/>
        <se id="se_optionmenu"            left="se_optionmenu.vag"        right="se_optionmenu.vag"/>
        <se id="se_cursor"                left="se_cursor.vag"            right="se_cursor.vag"/>
    </setable>
</syntaxhighlight>}}
*For this method is needed to export the original sound as a single WAV and use the same file in both channels
 
{{Boxcode|title=Stereo Sounds (separated sounds for left and right channels)|code=<syntaxhighlight lang="xml">
    <setable>
        <se id="se_system_ok"              left="se_system_ok_left.vag"    right="se_system_ok_right.vag"/>
        <se id="se_decide"                left="se_decide_left.vag"        right="se_decide_right.vag"/>
        <se id="se_cancel"                left="se_cancel_left.vag"        right="se_cancel_right.vag"/>
        <se id="se_optionmenu"            left="se_optionmenu_left.vag"    right="se_optionmenu_right.vag"/>
        <se id="se_cursor"                left="se_cursor_left.vag"        right="se_cursor_right.vag"/>
    </setable>
</syntaxhighlight>}}
*For this method is needed to export each channel of the original sound in a separated WAV
 
==Background (.JPG .RAF)==
Themes can include up to 24 background images (when trying to include more than 24 backgrounds the compiler returns an: "Error: num of background images are over 24")
{| class="wikitable" style="text-align:center; margin:auto"
|+Backgrounds sizes
! File !! File type !! File max size !! Group max items !! Group max size
|-
|-
| style="background-color:#ae07bd; " | || 9 || September
| bg_sd_'''**'''.jpg || 640x480 JPEG 24bits (4:3 aspect ratio) || 2mb || 24 || ??
|-
|-
| style="background-color:#cca143; " | || 10 || October
| bg_hd_'''**'''.jpg  || 1920x1080 JPEG 24bits (16:9 aspect ratio) || 2mb || 24 || ??
|-
|-
| style="background-color:#5b411f; " | || 11 || November
| anim_'''**'''.raf  || ? || ? || 24 || ??
|-
|-
| style="background-color:#cb1800; " | || 12 || December
|}
|}


==Tutorials & Tools Links==
===Static Background (.JPG)===
The basic entry for 1 background in two aspect ratios (16:9 and 4:3). Is highly recommended to add both aspect ratios for compatibility with all TV's
{{Boxcode|code=<syntaxhighlight lang="xml">
    <bgimagetable>
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"/>
    </bgimagetable>
</syntaxhighlight>}}
 
The next methods using static backgrounds are variations of this entry, and uses a function (based in system clock time) to select the background that is displayed
 
The times used in "from" and "until" are included in the period (e.g: from day 01 until day 02.... includes 2 days)
 
====Backgrounds linked to PS3 time (seconds)====
This works simply by including multiple backgrounds, the PS3 will select them sequencially starting from the first of the list.
 
Every time the PS3 boots or every time the theme is applyed, the system time is readed (seconds) the number of backgrounds is counted starting from top of the list and one of them is selected based in the number of seconds in ps3 time. E.g. if the theme contains 24 images and is applyed at time 23:58:00 the first background is displayed, if the theme is applyed at 23:58:23 the last background is displayed, after the last background it loops to the first background of the list e.g: if the theme is applyed at 23:58:24 the first background is displayed
 
{{Boxcode|code=<syntaxhighlight lang="xml">
<!-------------------------- Backgrounds linked to PS3 time (seconds) -------------------------->
    <bgimagetable>
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"/>
        <bgimage                hd="bg_hd_2.jpg"        sd="bg_sd_2.jpg"/>
        <bgimage                hd="bg_hd_3.jpg"        sd="bg_sd_3.jpg"/>
    </bgimagetable>
</syntaxhighlight>}}
 
====Backgrounds linked to PS3 time (hours of the day)====
Note the maximum number of background images supported is 24. You can link them to the 24 hours of the day. Or you can divide the day in 3 periods of 8 hours and use 3 backgrounds for "morning" "evening" and "night"
 
{{Boxcode|code=<syntaxhighlight lang="xml">
<!-------------------------- Backgrounds linked to PS3 time (hours of the day). Time in "HH" Format -------------------------->
    <bgimagetable showtype="datetime">
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"    from="00"        until="01"/>
        <bgimage                hd="bg_hd_2.jpg"        sd="bg_sd_2.jpg"    from="01"        until="02"/>
        <bgimage                hd="bg_hd_3.jpg"        sd="bg_sd_3.jpg"    from="02"        until="03"/>
    </bgimagetable>
</syntaxhighlight>}}
 
====Backgrounds linked to PS3 time (days of months)====
Usefull for special days of special months: a birthday, christmas, etc... The background is visible the same days of all years because the year is not specifyed


===official:===
{{Boxcode|code=<syntaxhighlight lang="xml">
<!-------------------------- Backgrounds linked to PS3 time (days of months). Time in MMDD Format -------------------------->
    <bgimagetable showtype="days">
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"    from="1231"        until="1231"/>
    </bgimagetable>
</syntaxhighlight>}}


*Theme Settings manual:
====Backgrounds linked to PS3 time (days of years)====
http://manuals.playstation.net/document/en/ps3/current/settings/themesettings.html
Useful for special days of special years: the next olympic games, the next apocalypse, etc... it can be used for restrictions too, in the example the image is visible for a period of 1 year (from 31 december 2012, until 31 december 2013)


*How do I create my own theme for the PlayStation®3 computer entertainment system?
{{Boxcode|code=<syntaxhighlight lang="xml">
http://us.playstation.com/support/answer/index.htm?a_id=1205
<!-------------------------- Backgrounds linked to PS3 time (days of years). Time in "YYYYMMDD" Format -------------------------->
    <bgimagetable showtype="days">
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"    from="20121231"    until="20131231"/>
    </bgimagetable>
</syntaxhighlight>}}


*Playstation 3 custom theme guidelines v2.00 (official p3tcompiler.exe with a sample theme). This toolset doesnt contains the raf compilers !
===Dynamic Background (.RAF)===
http://uk.playstation.com/ps3/support/settings/detail/linked235336/item85346/Download-PlayStation-3-Custom-Theme-Guidelines/
In this themes the background is called an "scene" and is not an image (the scene is compiled in .RAF format by the RAF compiler, but renamed to '''anim_1.jpg''' by the theme compiler)


===Others:===
RAF are composed by: 3d geometry models and 3d light models (.dae), textures (.dds), a script (.js), and a scene setting file used by the RAF compiler (.xml)


*Resources&tools, tutorials (Slide Show etc..): http://www.ps3-themes.com/  
This is the entry that links to the .RAF background in the main '''Theme Scene.XML''' file. Note inside the .RAF there is another '''RAF Scene.XML''' that is very different. For more information about this RAf files see: [[Rich Appearance Format (RAF)]]
{{Boxcode|code=<syntaxhighlight lang="xml">
    <bgimagetable>
        <bgimage                anim="anim_1.jpg"/>
    </bgimagetable>
</syntaxhighlight>}}


*Homebrews :http://www.ps3devwiki.com/files/Visuals/Themes/
===Combined background methods===


*MFW : [http://www.ps3devwiki.com/wiki/PS3MFW_Builder PS3MFW_Builder ]
====Collisions====
When using combinations of background linked to time (using "days" or "daytime") is important to take care of the "collisions", this happens when 2 different background "wants" to be displayed at the same time (e.g: when using backgrounds linked to time and 2 backgrounds matches with the time). Collisions are not a problem when used on purpose and can give some interesting results (xmb doesnt crashes and the theme keeps working as normal). When a collision happens the first background matching the time is used


*Rich Apparence Maker http://r.a.m.games-hack.fr/index.php guide http://r.a.m.games-hack.fr/doc/Rich%20Appearance%20Maker%20-%20Quick%20Start%20Guide.pdf
In this example the image "safe" is used when the time doesnt match with any of them, the image "win" is used only the day 1 of january of years before 2010 and after 2020, the image "1" is used during the period from 2010 until 2020 included the days 1 of january (in this day "1" and "win" collides and "win" is deprecated because is at the bottom of the list)
{{Boxcode|code=<syntaxhighlight lang="xml">
    <bgimagetable showtype="days">
        <bgimage                hd="hd_safe.jpg"          sd="sd_safe.jpg"        from="99991231"        until="99991231"/>
        <bgimage                hd="hd_1.jpg"            sd="sd_1.jpg"            from="20100101"        until="20200101"/>
        <bgimage                hd="hd_win.jpg"          sd="sd_win.jpg"          from="0101"            until="0101"/>
    </bgimagetable>
</syntaxhighlight>}}


*"Playstation 3 Theme Builder" and "Xross Media Simulator" http://www.lili-chan.com/
The opposite to this collisions is when there is no background that matches the time (but there are backgrounds in the list)... in this case the first background of the list is displayed as a "failsafe" meassure


*Interesting info about Animations/3D support in themes http://www.ps3hax.net/showthread.php?t=28426
====Static and Dynamic backgrounds linked to PS3 time (seconds)====
This combines static (.jpg images), and dynamic (.raf animations) backgrounds, selected based on seconds
{{Boxcode|code=<syntaxhighlight lang="xml">
    <bgimagetable>
        <bgimage                hd="hd_1.jpg"            sd="sd_1.jpg"/>
        <bgimage                anim="anim_1.jpg"/>
        <bgimage                hd="hd_2.jpg"            sd="sd_2.jpg"/>
        <bgimage                anim="anim_2.jpg"/>
        <bgimage                hd="hd_3.jpg"            sd="sd_3.jpg"/>
        <bgimage                anim="anim_3.jpg"/>
    </bgimagetable>
</syntaxhighlight>}}


*See also: [[QGL_modding#QGL |QGL page]]
See also {{talk}} page


*DDS tools
**GIMP plug-in (not mandatory to use DDS for Slide Show Pro if picture compiled directly to RAF) http://code.google.com/p/gimp-dds/
**NVIDIA DDS Plug-in for Adobe Photoshop https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
**NVIDIA DDS Plug-in for 3ds Max https://developer.nvidia.com/content/3ds-max-dds-plugin-1008271100
**NVIDIA DDS Thumbnail Viewer for windows explorer https://developer.nvidia.com/sites/default/files/akamai/tools/files/DDS_viewer.exe
**NVIDIA Legacy Texture Tools (includes a command line converter) https://developer.nvidia.com/sites/default/files/akamai/tools/files/DDS_Utilities_8.31.1127.1645.exe


*Imageviewer with lot of supported formats http://www.irfanview.com/
{{File Formats}}
<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 22:13, 29 August 2023

Classic theme
Original theme

Description[edit | edit source]

P3T (Playstation 3 Theme) is a container. Themes can be created by Sony's official PlayStation 3 theme creator software or by theme compilers from third-party developers. PlayStation 3 themes are able to store images and sounds to customize the XMB. There is a basic introduction to themes in the official: Theme Settings manual

  • Installation methods
    • Downloaded from PSN (SEN) store
    • Downloaded from web pages using the PS3 web browser (hosted in the server as: application/x-ps3-theme MIMEtype, and p3t file extension). E.g: [1] [2]
    • USB, CF, SD, MS, external storage from path: device:/PS3/THEME/Theme Name.p3t
    • Game discs extras icons (see: Creating Discs)
    • Games main menu (the installation of the theme can be unlocked after completing some requirements inside the game)
    • Install packages (.pkg containing an encrypted theme under .edat file)
    • Adding themes manually in the default install path: dev_hdd0/theme/Theme Name.p3t
    • Replacing the preinstalled theme that comes with the firmware in path: dev_flash/vsh/resource/theme/01.p3t
  • There is an small chance of crashing XMB when applying a malformed theme (and consecutive PS3 crashes when rebooting), can be easily fixed by entering "recovery menu" and using the option "Restore Default Settings" (only restores the user configurations made in "XMB settings column")
  • Other type of crashes happens when the theme is dynamic (contains a .raf scene in the backgound). The .raf scene uses a script that runs in real time when the animation is played and usually contains aritmetic operations to calculate positions along time, etc... any problem derivated from code errors of the script or calculations out of order can make the ram to be overloaded (there is a limited amount available for .raf animations). When this happens the .raf scene crashes (but usually the console doesnt crashes is only the animation played at the background what crashed)
Firmware changes related with XMB and Themes
  • Firmware 1.90:
    • Added XMB Settings ⇨ [Theme settings] ⇨ [Background] ⇨ [Wallpaper]. Background setting can use an image from internall HDD. (this image is copied to user profile folder in path: dev_hdd0/home/<userid>/theme/wallpaper.png)
  • Firmware 2.00:
    • Added XMB Settings ⇨ [Theme settings] ⇨ [Theme]. Static Themes support. Allows to use custom themes that change the icons, wallpaper, color, font, and the click sounds See Qt Resource Container (QRC) page
    • Added XMB Settings ⇨ [Theme settings] ⇨ [Color]. (original = changes with the month, 1-12 = the colors predefined for each month)
    • Added XMB Settings ⇨ [Theme settings] ⇨ [Background] ⇨ [Brighness] (normal, -1, -2, -3, -4. -5)
    • Added XMB Settings ⇨ [Theme settings] ⇨ [Font] (original, rounded, pop). See XMB Fonts page
  • Firmware 3.00:
    • Added Dynamic Themes support. Allows the user to install animated themes. These themes may feature animated backgrounds which change throughout the day or respond to user input. See Rich Appearance Format (RAF) page
    • Added Dynamic brightness. XMB now change color depending on the time of day.
    • The old theme has been renamed to 'Classic'. The default theme has been changed to an updated version of the 'Original' waves theme with an animated sparkle effect
    • Night time black theme has the current month color as a basis instead of white. ?

P3T structure[edit | edit source]

See: CXML Containers page

Theme Tools[edit | edit source]

Tools to compile, extract, or manage themes

P3Tcompiler[edit | edit source]

P3Tcompiler is made by Sony. For a basic guide creating themes with p3tcompiler read the official manual: How do I create my own theme for the PlayStation®3 computer entertainment system?

  • Download links
    • P3Tcompiler v2.00 included in: [3]

With the program there is a sample theme ready to compile, you can separate the program folder and the sample folder to any path in your pc, and compile the sample theme just by "drag-and-drop" the simple.xml over ps3compiler.exe (or create a "direct access icon" in the desktop to the program and drag-and-drop .xml files over it). The compiled theme .pt3 is created in the same folder of the source .xml + lot of .gim files (this .gim files are generated in the conversion from .png--->.gim as a previous step before compiling, after compilation the .gim files are not erased)

Or use the command line:

Type This
Usage : p3tcompiler.exe [-o] [output file(*.p3t)] [input file(*.xml)]
C:\PS3 Theme Compiler>p3tcompiler.exe -o "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name.xml"

P3Textractor[edit | edit source]

Made by codelogic in ps2dev forum, is from 2007 and advised in an alpha stage, can be downloaded from: p3textractor

This program extract the contents of a Theme.p3t and it works too by the "drag-and-drop" method, but the files are extracted to the same folder of the program, in a subfolder named like the original Theme.pt3 preceded by a "extracted"

Or use the command line:

Type This
Usage: p3textractor <input theme file> [destination path]
C:\PS3 Theme Extractor>p3textractor.exe "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name\"

Playstation 3 Theme Builder[edit | edit source]

https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm

Xross Media Simulator[edit | edit source]

https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm

Theme Contents[edit | edit source]

Theme Name (.XML)[edit | edit source]

This is the settings file of the theme, needed by the compiler to build the theme, it contains information about the theme and the author, and lists all the files that composes the theme.

Theme_name.xml (complete sample)
Edit-copy purple.svg.png
<?xml version="1.0" encoding="UTF-8"?>
<theme>
<!--------------------------------------------------------------------------------------------------------------- Theme Info -->
    <infotable>
        <info
            comment="Theme description"
            name="Theme name"
            author="Your name, nick, team, company, etc..."
            url="http://www.psdevwiki.com"
            authoricon="theme_author_icon_64x64.png"
            version="v0.1 beta"
            genre="PS3 Themes Design"
            preview="theme_preview_480x270.png"
            icon="theme_icon_64x64.png"
        />
    </infotable>
<!--------------------------------------------------------------------------------------------------------------- Icons -->
    <icontable>
        <!------------------------------------------------------------------------------------------------------- XMB Horizontal row -->
        <icon id="icon_user"                    src="icon_user.png"/>
        <icon id="icon_setting"                 src="icon_setting.png"/>
        <icon id="icon_photo"                   src="icon_photo.png"/>
        <icon id="icon_music"                   src="icon_music.png"/>
        <icon id="icon_video"                   src="icon_video.png"/>
        <icon id="icon_game"                    src="icon_game.png"/>
        <icon id="icon_network"                 src="icon_network.png"/>
        <icon id="icon_friend"                  src="icon_friend.png"/>
        <icon id="icon_tv"                      src="icon_tv.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB User column -->
        <icon id="icon_poweroff"                src="icon_poweroff.png"/>
        <icon id="icon_newuser"                 src="icon_newuser.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Settings column -->
        <icon id="icon_update"                  src="icon_update.png"/>
        <icon id="icon_game_setting"            src="icon_game_setting.png"/>
        <icon id="icon_bdvd_setting"            src="icon_bdvd_setting.png"/>
        <icon id="icon_music_setting"           src="icon_music_setting.png"/>
        <icon id="icon_chat_setting"            src="icon_chat_setting.png"/>
        <icon id="icon_system_setting"          src="icon_system_setting.png"/>
        <icon id="icon_theme_setting"           src="icon_theme_setting.png"/>
        <icon id="icon_datetime_setting"        src="icon_datetime_setting.png"/>
        <icon id="icon_powersave_setting"       src="icon_powersave_setting.png"/>
        <icon id="icon_accessory"               src="icon_accessory.png"/>
        <icon id="icon_printer_setting"         src="icon_printer_setting.png"/>
        <icon id="icon_display_setting"         src="icon_display_setting.png"/>
        <icon id="icon_sound_setting"           src="icon_sound_setting.png"/>
        <icon id="icon_security_setting"        src="icon_security_setting.png"/>
        <icon id="icon_remoteplay_setting"      src="icon_remoteplay_setting.png"/>
        <icon id="icon_network_setting"         src="icon_network_setting.png"/>
        <icon id="icon_setting_item"            src="icon_setting_item.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Game column -->
        <icon id="icon_gamedata"                src="icon_gamedata.png"/>
        <icon id="icon_savedata"                src="icon_savedata.png"/>
        <icon id="icon_savedata_minis"          src="icon_savedata_minis.png"/>
        <icon id="icon_vmc"                     src="icon_vmc.png"/>
        <icon id="icon_newvmc"                  src="icon_newvmc.png"/>
        <icon id="icon_trophy"                  src="icon_trophy.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Network column -->
        <icon id="icon_onlinemanual"            src="icon_onlinemanual.png"/>
        <icon id="icon_remoteplay"              src="icon_remoteplay.png"/>
        <icon id="icon_inet_search"             src="icon_inet_search.png"/>
        <icon id="icon_browser"                 src="icon_browser.png"/>
        <icon id="icon_download"                src="icon_download.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB PSN column -->
        <icon id="icon_accountmanage"           src="icon_accountmanage.png"/>
        <!------------------------------------------------------------------------------------------------------- XMB Friends column -->
        <icon id="icon_blocklist"               src="icon_blocklist.png"/>
        <icon id="icon_addfriend"               src="icon_addfriend.png"/>
        <icon id="icon_playermet"               src="icon_playermet.png"/>
        <icon id="icon_chat"                    src="icon_chat.png"/>
        <icon id="icon_chatroom"                src="icon_chatroom.png"/>
        <icon id="icon_chatroom_text"           src="icon_chatroom_text.png"/>
        <icon id="icon_mbox"                    src="icon_mbox.png"/>
        <icon id="icon_mbox_received"           src="icon_mbox_received.png"/>
        <icon id="icon_mbox_sent"               src="icon_mbox_sent.png"/>
        <icon id="icon_mbox_create"             src="icon_mbox_create.png"/>
        <!------------------------------------------------------------------------------------------------------- Default icons -->
        <icon id="icon_default_h"               src="icon_default_h.png"/>
        <icon id="icon_default_v"               src="icon_default_v.png"/>
        <icon id="icon_photo_default"           src="icon_photo_default.png"/>
        <icon id="icon_photo_album_default"     src="icon_photo_album_default.png"/>
        <icon id="icon_music_default"           src="icon_music_default.png"/>
        <icon id="icon_music_album_default"     src="icon_music_album_default.png"/>
        <icon id="icon_video_default"           src="icon_video_default.png"/>
        <icon id="icon_video_album_default"     src="icon_video_album_default.png"/>
        <!------------------------------------------------------------------------------------------------------- Devices -->
        <icon id="icon_ms"                      src="icon_ms.png"/>
        <icon id="icon_sd"                      src="icon_sd.png"/>
        <icon id="icon_cf"                      src="icon_cf.png"/>
        <icon id="icon_usb"                     src="icon_usb.png"/>
        <icon id="icon_psp"                     src="icon_psp.png"/>
        <icon id="icon_pspms"                   src="icon_pspms.png"/>
        <icon id="icon_usbcamera"               src="icon_usbcamera.png"/>
        <icon id="icon_usbaad"                  src="icon_usbaad.png"/>
        <!------------------------------------------------------------------------------------------------------- Media players -->
        <icon id="icon_playing"                 src="icon_playing.png"/>
        <icon id="icon_mediaserver_search"      src="icon_mediaserver_search.png"/>
        <icon id="icon_playlist"                src="icon_playlist.png"/>
        <icon id="icon_playlist_add"            src="icon_playlist_add.png"/>
        <icon id="icon_video_upload"            src="icon_video_upload.png"/>
    </icontable>
<!--------------------------------------------------------------------------------------------------------------- Mouse pointers -->
    <pointertable>
        <pointer id="pointer_arrow"             src="pointer_arrow.png"     base_x="20"     base_y="5"/>     <!-- Arrow (default) -->
        <pointer id="pointer_pen"               src="pointer_pen.png"       base_x="5"      base_y="40"/>    <!-- Pen (text input) -->
        <pointer id="pointer_finger"            src="pointer_finger.png"    base_x="15"     base_y="10"/>    <!-- Hand Over Clickable Object -->
        <pointer id="pointer_click"             src="pointer_click.png"     base_x="15"     base_y="10"/>    <!-- Hand Clicking Object -->
        <pointer id="pointer_hand"              src="pointer_hand.png"      base_x="25"     base_y="20"/>    <!-- Hand Over Draggable Object -->
        <pointer id="pointer_grab"              src="pointer_grab.png"      base_x="25"     base_y="20"/>    <!-- Hand Dragging Object -->
    </pointertable>
<!--------------------------------------------------------------------------------------------------------------- Notification window -->
    <notification                               src="notification.png"/>
<!--------------------------------------------------------------------------------------------------------------- Navigation sounds -->
    <setable>
        <se id="se_cursor"                      src="se_cursor.vag"/>                                        <!-- Cursor movements: left, right, up, down -->
        <se id="se_optionmenu"                  src="se_optionmenu.vag"/>                                    <!-- Open/enter a options menu -->
        <se id="se_cancel"                      src="se_cancel.vag"/>                                        <!-- Close/exit a options menu -->
        <se id="se_decide"                      src="se_decide.vag"/>                                        <!-- Question -->
        <se id="se_system_ok"                   src="se_system_ok.vag"/>                                     <!-- Accept -->
    </setable>
<!--------------------------------------------------------------------------------------------------------------- Backgrounds -->
    <bgimagetable>
        <bgimage                                hd="hd_1.jpg"               sd="sd_1.jpg"/>
    </bgimagetable>
<!--------------------------------------------------------------------------------------------------------------- Font (0: original, 1: rounded, 2: pop) -->
    <font selection="1"/>
<!--------------------------------------------------------------------------------------------------------------- Color (1 to 12: color of a month, 0: changes with the month) -->
    <color selection="10"/>
</theme>

Other XML configurations[edit | edit source]

  • <localizedinfo>

Is posible to add translations for different languages for some contents of <info> by using <localizedinfo> (XMB replaces contents in the <info> by the contents of <localizedinfo>), each language is identifyed with a "letter code" listed in this table: Languages

Localized info texts are only displayed when the laguage setting used in XMB matches with the language used in the "locale" of the theme

If the theme doesnt contains <localizedinfo> the default texts from <info> are used , so <localizedinfo> is not mandatory, and usually is not needed (most of the <info> contents doesnt need to be translated)

Theme_name.xml (section sample)
Edit-copy purple.svg.png
    <infotable>
            <!-- default info -->
        <info
            name="Theme Name"
            comment="No comment, thxbye"
        />

            <!-- localized info to replace for spanish language ("letter code "es") -->
        <localizedinfo
            locale="es"
            name="Nombre del tema"
            comment="No comentarios, graciasadios"
        />
    </infotable>
PlayStation Languages
Code Name Support
2-digits 2-letters Localised English PS1 PS2 PSP PS3 PSV PS4 PS5
00 ja 日本語 Japanese ALL ALL 1.00 1.00 1.00 1.00 1.00
01 en English (United States) English (United States)
02 fr Français French No 1.50
03 es Español (España) Spanish (Spain)
04 de Deutsch German
05 it Italiano Italian
06 nl Nederlands Dutch
07 pt Português (Portugal) Portuguese (Portugal)
08 ru Русский Russian EXT
09 ko 한국어 Korean 2.00 1.50
10 ch 繁體中文 Chinese (Traditional) 2.70 1.60
11 zh 简体中文 Chinese (Simplified)
12 fi Suomi Finnish No No
13 sv Svenska Swedish
14 da Dansk Danish
15 no Norsk Norwegian
16 pl Polski Polish 3.10
17 br Português (Brasil) Portuguese (Brazil) 4.00
18 gb English (United Kingdom) English (United Kingdom)
19 tr Türkçe Turkish 4.30 2.00
20 la Español (América Latina) Spanish (Latin America) No No
21 ar العربية Arabic 2.00
22 ca Français (Canada) French (Canada) 2.50
23 cs Čeština Czech 5.00
24 hu Magyar Hungarian
25 el Ελληνικά Greek
26 ro Română Romanian
27 th ไทย Thai
28 vi Tiếng Việt Vietnamese
29 in Indonesia Indonesian
30 uk Українська Ukrainian 9.50 3.00


  • <color selection>

Color allows a value from 0 to 12. With 0 the color changes every month, and from 1 to 12 keeps a permanent color that matches with a month

This color selection affect themes in two different ways, one is a color filter applyed to several parts of the XMB like side menu or default icons (this effect over the icons is only visible when the theme doesnt have icons), and the other are background images in the same color (only visibles when the theme doesnt have a background)

If the theme contains one or several backgrounds, the original backgrounds for months are not displayed, only the "color filter" value is applyed (e.g. in side menu when pressing triangle over an icon)

XMB colors during the year. Color filter values are orientative
Month All January February March April May June July August September October November December
Color code 0 1 2 3 4 5 6 7 8 9 10 11 12
Day background Varies Textures month bg rgb 01.jpg Textures month bg rgb 02.jpg Textures month bg rgb 03.jpg Textures month bg rgb 04.jpg Textures month bg rgb 05.jpg Textures month bg rgb 06.jpg Textures month bg rgb 07.jpg Textures month bg rgb 08.jpg Textures month bg rgb 09.jpg Textures month bg rgb 10.jpg Textures month bg rgb 11.jpg Textures month bg rgb 12.jpg
Night background Varies Textures month bg night 01.jpg Textures month bg night 02.jpg Textures month bg night 03.jpg Textures month bg night 04.jpg Textures month bg night 05.jpg Textures month bg night 06.jpg Textures month bg night 07.jpg Textures month bg night 08.jpg Textures month bg night 09.jpg Textures month bg night 10.jpg Textures month bg night 11.jpg Textures month bg night 12.jpg
Color filter MonthTime
CBCBCB D8BF1A 6DB217 E17E9A 178816 9A61C8 02CDC7 0C76C0 B444C0 E5A708 875B1E E3412A


Themeicon and Authoricon (.PNG)[edit | edit source]

icon = theme icon (64x64, 32-bit PNG)

authoricon = author icon(64x64, 32-bit PNG)

Theme Preview (.PNG)[edit | edit source]

preview = preview icon of the theme (480x270, 24-bit PNG)

XMB Icons (.PNG)[edit | edit source]

All icons are 128x128, 32-bit PNG, except the ones in the next table

File Image type Notes
icon_photo_default 170x128, 32-bit .PNG icon for photo without preview
icon_photo_album_default icon for folder with photos
icon_video_default 228x128, 32-bit .PNG icon for video without preview
icon_video_album_default icon for folder with videos
icon_game_default 322x178, 32-bit .PNG icon for game without ICON0.PNG
icon_game_album_default 314x178, 32-bit .PNG icon for game group
  • Default icons

icon_default_h (default icon for horizontal row) and icon_default_v (default icon for vertical columns) are displayed in XMB when the theme doesnt have newest icons required by the firmware. E.g: when installing a theme made in 2008 in a firmware released in 2013

  • Missing icons in newer firmwares ?... like PSvita ?
  • Missing icons in the example ? (but supported by the compilers)

Notification window (.PNG)[edit | edit source]

Notification Window Frame - Stretching Layout

Background image that appears at top-right corner of XMB for system messages (used e.g: to notify when a trophy is unlocked)

This image has transparent rounded corners, and is stretched by XMB depending of the length of the texts displayed, this stretching is made in the center of the image (not in the corners) to prevent deformation of the rounded corners.

Mouse Pointers (.PNG)[edit | edit source]

(system_plugin.rco)

Navigation Sounds (.VAG)[edit | edit source]

(system_plugin.rco)

-Total sound data under 256 KB spreaded between all sound files. (or 150KB as suggested here: http://www.ps3-themes.com/forum/ps3-themes/sound-tutorial-new )

Sound effects as PlayStation Compressed Sound File.

Create the sound files in WAV format @ 44100Hz/16bit-Mono (or lower quality to obtain smaller files). Then use MFaudio v1.1 to convert from WAV to VAG

Fake Stereo Sounds (same sound used in left and right channels
Edit-copy purple.svg.png
    <setable>
        <se id="se_system_ok"              left="se_system_ok.vag"          right="se_system_ok.vag"/>
        <se id="se_decide"                 left="se_decide.vag"             right="se_decide.vag"/>
        <se id="se_cancel"                 left="se_cancel.vag"             right="se_cancel.vag"/>
        <se id="se_optionmenu"             left="se_optionmenu.vag"         right="se_optionmenu.vag"/>
        <se id="se_cursor"                 left="se_cursor.vag"             right="se_cursor.vag"/>
    </setable>
  • For this method is needed to export the original sound as a single WAV and use the same file in both channels
Stereo Sounds (separated sounds for left and right channels)
Edit-copy purple.svg.png
    <setable>
        <se id="se_system_ok"              left="se_system_ok_left.vag"     right="se_system_ok_right.vag"/>
        <se id="se_decide"                 left="se_decide_left.vag"        right="se_decide_right.vag"/>
        <se id="se_cancel"                 left="se_cancel_left.vag"        right="se_cancel_right.vag"/>
        <se id="se_optionmenu"             left="se_optionmenu_left.vag"    right="se_optionmenu_right.vag"/>
        <se id="se_cursor"                 left="se_cursor_left.vag"        right="se_cursor_right.vag"/>
    </setable>
  • For this method is needed to export each channel of the original sound in a separated WAV

Background (.JPG .RAF)[edit | edit source]

Themes can include up to 24 background images (when trying to include more than 24 backgrounds the compiler returns an: "Error: num of background images are over 24")

Backgrounds sizes
File File type File max size Group max items Group max size
bg_sd_**.jpg 640x480 JPEG 24bits (4:3 aspect ratio) 2mb 24 ??
bg_hd_**.jpg 1920x1080 JPEG 24bits (16:9 aspect ratio) 2mb 24 ??
anim_**.raf ? ? 24 ??

Static Background (.JPG)[edit | edit source]

The basic entry for 1 background in two aspect ratios (16:9 and 4:3). Is highly recommended to add both aspect ratios for compatibility with all TV's

    <bgimagetable>
        <bgimage                 hd="bg_hd_1.jpg"         sd="bg_sd_1.jpg"/>
    </bgimagetable>

The next methods using static backgrounds are variations of this entry, and uses a function (based in system clock time) to select the background that is displayed

The times used in "from" and "until" are included in the period (e.g: from day 01 until day 02.... includes 2 days)

Backgrounds linked to PS3 time (seconds)[edit | edit source]

This works simply by including multiple backgrounds, the PS3 will select them sequencially starting from the first of the list.

Every time the PS3 boots or every time the theme is applyed, the system time is readed (seconds) the number of backgrounds is counted starting from top of the list and one of them is selected based in the number of seconds in ps3 time. E.g. if the theme contains 24 images and is applyed at time 23:58:00 the first background is displayed, if the theme is applyed at 23:58:23 the last background is displayed, after the last background it loops to the first background of the list e.g: if the theme is applyed at 23:58:24 the first background is displayed

<!-------------------------- Backgrounds linked to PS3 time (seconds) -------------------------->
    <bgimagetable>
        <bgimage                 hd="bg_hd_1.jpg"         sd="bg_sd_1.jpg"/>
        <bgimage                 hd="bg_hd_2.jpg"         sd="bg_sd_2.jpg"/>
        <bgimage                 hd="bg_hd_3.jpg"         sd="bg_sd_3.jpg"/>
    </bgimagetable>

Backgrounds linked to PS3 time (hours of the day)[edit | edit source]

Note the maximum number of background images supported is 24. You can link them to the 24 hours of the day. Or you can divide the day in 3 periods of 8 hours and use 3 backgrounds for "morning" "evening" and "night"

<!-------------------------- Backgrounds linked to PS3 time (hours of the day). Time in "HH" Format -------------------------->
    <bgimagetable showtype="datetime">
        <bgimage                 hd="bg_hd_1.jpg"         sd="bg_sd_1.jpg"     from="00"        until="01"/>
        <bgimage                 hd="bg_hd_2.jpg"         sd="bg_sd_2.jpg"     from="01"        until="02"/>
        <bgimage                 hd="bg_hd_3.jpg"         sd="bg_sd_3.jpg"     from="02"        until="03"/>
    </bgimagetable>

Backgrounds linked to PS3 time (days of months)[edit | edit source]

Usefull for special days of special months: a birthday, christmas, etc... The background is visible the same days of all years because the year is not specifyed

<!-------------------------- Backgrounds linked to PS3 time (days of months). Time in MMDD Format -------------------------->
    <bgimagetable showtype="days">
        <bgimage                 hd="bg_hd_1.jpg"         sd="bg_sd_1.jpg"    from="1231"        until="1231"/>
    </bgimagetable>

Backgrounds linked to PS3 time (days of years)[edit | edit source]

Useful for special days of special years: the next olympic games, the next apocalypse, etc... it can be used for restrictions too, in the example the image is visible for a period of 1 year (from 31 december 2012, until 31 december 2013)

<!-------------------------- Backgrounds linked to PS3 time (days of years). Time in "YYYYMMDD" Format -------------------------->
    <bgimagetable showtype="days">
        <bgimage                 hd="bg_hd_1.jpg"         sd="bg_sd_1.jpg"    from="20121231"    until="20131231"/>
    </bgimagetable>

Dynamic Background (.RAF)[edit | edit source]

In this themes the background is called an "scene" and is not an image (the scene is compiled in .RAF format by the RAF compiler, but renamed to anim_1.jpg by the theme compiler)

RAF are composed by: 3d geometry models and 3d light models (.dae), textures (.dds), a script (.js), and a scene setting file used by the RAF compiler (.xml)

This is the entry that links to the .RAF background in the main Theme Scene.XML file. Note inside the .RAF there is another RAF Scene.XML that is very different. For more information about this RAf files see: Rich Appearance Format (RAF)

    <bgimagetable>
        <bgimage                 anim="anim_1.jpg"/>
    </bgimagetable>

Combined background methods[edit | edit source]

Collisions[edit | edit source]

When using combinations of background linked to time (using "days" or "daytime") is important to take care of the "collisions", this happens when 2 different background "wants" to be displayed at the same time (e.g: when using backgrounds linked to time and 2 backgrounds matches with the time). Collisions are not a problem when used on purpose and can give some interesting results (xmb doesnt crashes and the theme keeps working as normal). When a collision happens the first background matching the time is used

In this example the image "safe" is used when the time doesnt match with any of them, the image "win" is used only the day 1 of january of years before 2010 and after 2020, the image "1" is used during the period from 2010 until 2020 included the days 1 of january (in this day "1" and "win" collides and "win" is deprecated because is at the bottom of the list)

    <bgimagetable showtype="days">
        <bgimage                 hd="hd_safe.jpg"          sd="sd_safe.jpg"         from="99991231"        until="99991231"/>
        <bgimage                 hd="hd_1.jpg"             sd="sd_1.jpg"            from="20100101"        until="20200101"/>
        <bgimage                 hd="hd_win.jpg"           sd="sd_win.jpg"          from="0101"            until="0101"/>
    </bgimagetable>

The opposite to this collisions is when there is no background that matches the time (but there are backgrounds in the list)... in this case the first background of the list is displayed as a "failsafe" meassure

Static and Dynamic backgrounds linked to PS3 time (seconds)[edit | edit source]

This combines static (.jpg images), and dynamic (.raf animations) backgrounds, selected based on seconds

    <bgimagetable>
        <bgimage                 hd="hd_1.jpg"             sd="sd_1.jpg"/>
        <bgimage                 anim="anim_1.jpg"/>
        <bgimage                 hd="hd_2.jpg"             sd="sd_2.jpg"/>
        <bgimage                 anim="anim_2.jpg"/>
        <bgimage                 hd="hd_3.jpg"             sd="sd_3.jpg"/>
        <bgimage                 anim="anim_3.jpg"/>
    </bgimagetable>

See also Discussion page