Editing PlayStation 3 Theme (P3T)

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<div style="float:right">[[File:Tex_classic_theme.png|300px|thumb|left|Classic theme]]</div>
[[Category:Software]]
<div style="float:right">[[File:Tex_default_theme.png|300px|thumb|left|Original 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|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]
Themes can be created by Sony's official PlayStation 3 theme creator software or by theme compilers from third-party developers.


*Installation methods
System software version 1.90 allows users to change the background of the XMB to display any image saved on the console's hard disk drive.
**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: [http://www.ps3-themes.com] [https://web.archive.org/web/*/http://ps3devwiki.com/files/Visuals/Themes]
**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'''


*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")
Firmware 2.00 added the ability to select the background color of the XMB (from the same choice as the PSP), and the brightness of the color. The same update also added extra font choices, and the ability to use custom themes that change the icons, wallpaper, color, font, and, in some cases, the click sound effects.
*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)


{{Boxframe1|content='''Firmware changes related with XMB and Themes'''
With the release of firmware 3.00, a 'sparkle' effect has been added to the default theme and night time black theme has the current month color as a basis, instead of white.
*Firmware [[1.90_CEX|1.90]]:
**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''')


*Firmware [[2.00_CEX|2.00]]:
A ''Dynamic Themes'' feature was added in software version 3.00 which allows the user to use animated themes. These themes may feature animated backgrounds which change throughout the day or respond to user input
**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


*Firmware [[3.00_CEX|3.00]]:
*FW 2.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
**Ability to modify the PlayStation 3 XMB Home Menu icons or background design by using a theme compiler
**Added Dynamic brightness. XMB now change color depending on the time of day.
**[Colour], [Background] and [Font] have been added as options under [Theme Settings].
**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
**Ability to select [Brightness] as an option under [Theme Settings] > [Background].
**Night time black theme has the current month color as a basis instead of white. ?
}}


=P3T structure=
*FW 3.00:
See: [[CXML Containers]] page
**Support for new Dynamic Custom Themes.
**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.


=Theme Tools=
*Installation
Tools to compile, extract, or manage themes
**From USB (and CF/SD/MS memorycards): /PS3/THEME/*.p3t
**From disc (or fake disc): Infos on [http://www.ps3devwiki.com/wiki/PARAM.SFO#Creating_Discs Creating Discs]
**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


==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)
==Theme Contents==


Or use the command line:
====Theme Scene (.XML)====
{{Keyboard|content=<syntaxhighlight lang="bash">
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"
</syntaxhighlight>}}
 
==P3Textractor==
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]
 
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:
{{Keyboard|content=<syntaxhighlight lang="bash">
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>}}
 
==Playstation 3 Theme Builder==
https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm
 
==Xross Media Simulator==
https://web.archive.org/web/20080819044230/http://www.lili-chan.com/downloads.htm
 
=Theme Contents=
 
==Theme Name (.XML)==
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.


{{Boxcode|title=Theme_name.xml (complete sample)|code=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!----------------------------------->
<!-- Reserved for notes if needed  -->
<!----------------------------------->
<theme>
<theme>
<!--------------------------------------------------------------------------------------------------------------- Theme Info -->
<infotable>
    <infotable>
<info
        <info
name="Theme Name"
            comment="Theme description"
icon="themeicon.png"
            name="Theme name"
url="http://www.ps3devwiki.com"
            author="Your name, nick, team, company, etc..."
author="You"
            url="http://www.psdevwiki.com"
authoricon="authoricon.png"
            authoricon="theme_author_icon_64x64.png"
genre="Modding"
            version="v0.1 beta"
version="666"
            genre="PS3 Themes Design"
comment="No comment, thxbye"
            preview="theme_preview_480x270.png"
preview="preview.png"
            icon="theme_icon_64x64.png"
mtime="20081010105635"
        />
/>
    </infotable>
<!-- icon = theme icon (64x64, 32-bit PNG) -->
<!--------------------------------------------------------------------------------------------------------------- Icons -->
<!-- authoricon = author icon(64x64, 32-bit PNG) -->
    <icontable>
<!-- preview = preview icon of the theme (480x270, 24-bit PNG) -->
        <!------------------------------------------------------------------------------------------------------- XMB Horizontal row -->
<!-- mtime = theme update date (YYYYMMDDHHMMSS) -->
        <icon id="icon_user"                   src="icon_user.png"/>
</infotable>
        <icon id="icon_setting"                 src="icon_setting.png"/>
<color selection="10" /> <!-- From 1 to 12 = same color than monthly wallpapers. 0 = changes with the month  -->
        <icon id="icon_photo"                   src="icon_photo.png"/>
<font selection="1" /> <!-- Original: 0, Rounded: 1, Pop: 2 -->
        <icon id="icon_music"                   src="icon_music.png"/>
<notification src="notification.png" /> <!-- Notification windows background, at top-right corner of XMB -->
        <icon id="icon_video"                   src="icon_video.png"/>
<icontable> <!-- All this icons are 128x128, 24-bit PNG, except the ones especifyed -->
        <icon id="icon_game"                   src="icon_game.png"/>
<!-------------------------- horizontal row -------------------------->
        <icon id="icon_network"                 src="icon_network.png"/>
<icon id="icon_user" src="icon_user.png" />
        <icon id="icon_friend"                 src="icon_friend.png"/>
<icon id="icon_setting" src="icon_setting.png" />
        <icon id="icon_tv"                     src="icon_tv.png"/>
<icon id="icon_photo" src="icon_photo.png" />
        <!------------------------------------------------------------------------------------------------------- XMB User column -->
<icon id="icon_music" src="icon_music.png" />
        <icon id="icon_poweroff"               src="icon_poweroff.png"/>
<icon id="icon_video" src="icon_video.png" />
        <icon id="icon_newuser"                 src="icon_newuser.png"/>
<icon id="icon_game" src="icon_game.png" />
        <!------------------------------------------------------------------------------------------------------- XMB Settings column -->
<icon id="icon_network" src="icon_network.png" />
        <icon id="icon_update"                 src="icon_update.png"/>
<icon id="icon_friend" src="icon_friend.png" />
        <icon id="icon_game_setting"           src="icon_game_setting.png"/>
<icon id="icon_tv" src="icon_tv.png" />
        <icon id="icon_bdvd_setting"           src="icon_bdvd_setting.png"/>
<!-------------------------- user column -------------------------->
        <icon id="icon_music_setting"           src="icon_music_setting.png"/>
<icon id="icon_poweroff" src="icon_poweroff.png" />
        <icon id="icon_chat_setting"           src="icon_chat_setting.png"/>
<icon id="icon_newuser" src="icon_newuser.png" />
        <icon id="icon_system_setting"         src="icon_system_setting.png"/>
<!-------------------------- settings column -------------------------->
        <icon id="icon_theme_setting"          src="icon_theme_setting.png"/>
<icon id="icon_update" src="icon_update.png" />
        <icon id="icon_datetime_setting"        src="icon_datetime_setting.png"/>
<icon id="icon_game_setting" src="icon_game_setting.png" />
        <icon id="icon_powersave_setting"       src="icon_powersave_setting.png"/>
<icon id="icon_bdvd_setting" src="icon_bdvd_setting.png" />
        <icon id="icon_accessory"               src="icon_accessory.png"/>
<icon id="icon_music_setting" src="icon_music_setting.png" />
        <icon id="icon_printer_setting"         src="icon_printer_setting.png"/>
<icon id="icon_chat_setting" src="icon_chat_setting.png" />
        <icon id="icon_display_setting"         src="icon_display_setting.png"/>
<icon id="icon_system_setting" src="icon_system_setting.png" />
        <icon id="icon_sound_setting"           src="icon_sound_setting.png"/>
<icon id="icon_theme_setting" src="icon_theme_setting.png" />
        <icon id="icon_security_setting"        src="icon_security_setting.png"/>
<icon id="icon_datetime_setting" src="icon_datetime_setting.png" />
        <icon id="icon_remoteplay_setting"      src="icon_remoteplay_setting.png"/>
<icon id="icon_powersave_setting" src="icon_powersave_setting.png" />
        <icon id="icon_network_setting"        src="icon_network_setting.png"/>
<icon id="icon_accessory" src="icon_accessory.png" />
        <icon id="icon_setting_item"           src="icon_setting_item.png"/>
<icon id="icon_printer_setting" src="icon_printer_setting.png" />
        <!------------------------------------------------------------------------------------------------------- XMB Game column -->
<icon id="icon_display_setting" src="icon_display_setting.png" />
        <icon id="icon_gamedata"               src="icon_gamedata.png"/>
<icon id="icon_sound_setting" src="icon_sound_setting.png" />
        <icon id="icon_savedata"               src="icon_savedata.png"/>
<icon id="icon_security_setting" src="icon_security_setting.png" />
        <icon id="icon_savedata_minis"         src="icon_savedata_minis.png"/>
<icon id="icon_remoteplay_setting" src="icon_remoteplay_setting.png"/>
        <icon id="icon_vmc"                     src="icon_vmc.png"/>
<icon id="icon_network_setting" src="icon_network_setting.png" />
        <icon id="icon_newvmc"                 src="icon_newvmc.png"/>
<icon id="icon_setting_item" src="icon_setting_item.png" />
        <icon id="icon_trophy"                 src="icon_trophy.png"/>
<!-------------------------- photo/music/video columns -------------------------->
        <!------------------------------------------------------------------------------------------------------- XMB Network column -->
<icon id="icon_photo_default" src="icon_photo_default.png" />
        <icon id="icon_onlinemanual"           src="icon_onlinemanual.png"/>
<icon id="icon_photo_album_default" src="icon_photo_album_default.png" />
        <icon id="icon_remoteplay"             src="icon_remoteplay.png"/>
<icon id="icon_music_default" src="icon_music_default.png" />
        <icon id="icon_inet_search"             src="icon_inet_search.png"/>
<icon id="icon_music_album_default" src="icon_music_album_default.png" />
        <icon id="icon_browser"                 src="icon_browser.png"/>
<icon id="icon_video_default" src="icon_video_default.png" />
        <icon id="icon_download"               src="icon_download.png"/>
<icon id="icon_video_album_default" src="icon_video_album_default.png" />
        <!------------------------------------------------------------------------------------------------------- XMB PSN column -->
<!-------------------------- game column -------------------------->
        <icon id="icon_accountmanage"           src="icon_accountmanage.png"/>
<icon id="icon_gamedata" src="icon_gamedata.png" />
        <!------------------------------------------------------------------------------------------------------- XMB Friends column -->
<icon id="icon_savedata" src="icon_savedata.png" />
        <icon id="icon_blocklist"               src="icon_blocklist.png"/>
<icon id="icon_savedata_minis" src="icon_savedata_minis.png" />
        <icon id="icon_addfriend"              src="icon_addfriend.png"/>
<icon id="icon_vmc" src="icon_vmc.png" />
        <icon id="icon_playermet"               src="icon_playermet.png"/>
<icon id="icon_newvmc" src="icon_newvmc.png" />
        <icon id="icon_chat"                    src="icon_chat.png"/>
<icon id="icon_trophy" src="icon_trophy.png" />
        <icon id="icon_chatroom"                src="icon_chatroom.png"/>
<!-------------------------- network column -------------------------->
        <icon id="icon_chatroom_text"          src="icon_chatroom_text.png"/>
<icon id="icon_onlinemanual" src="icon_onlinemanual.png" />
        <icon id="icon_mbox"                    src="icon_mbox.png"/>
<icon id="icon_remoteplay" src="icon_remoteplay.png" />
        <icon id="icon_mbox_received"           src="icon_mbox_received.png"/>
<icon id="icon_inet_search" src="icon_inet_search.png" />
        <icon id="icon_mbox_sent"              src="icon_mbox_sent.png"/>
<icon id="icon_browser" src="icon_browser.png" />
        <icon id="icon_mbox_create"            src="icon_mbox_create.png"/>
<icon id="icon_download" src="icon_download.png" />
        <!------------------------------------------------------------------------------------------------------- Default icons -->
<!-------------------------- psn column -------------------------->
        <icon id="icon_default_h"               src="icon_default_h.png"/>
<icon id="icon_accountmanage" src="icon_accountmanage.png" />
        <icon id="icon_default_v"               src="icon_default_v.png"/>
<!-------------------------- friends column -------------------------->
        <icon id="icon_photo_default"           src="icon_photo_default.png"/>
<icon id="icon_blocklist" src="icon_blocklist.png" />
        <icon id="icon_photo_album_default"     src="icon_photo_album_default.png"/>
<icon id="icon_addfriend" src="icon_addfriend.png" />
        <icon id="icon_music_default"           src="icon_music_default.png"/>
<icon id="icon_playermet" src="icon_playermet.png" />
        <icon id="icon_music_album_default"     src="icon_music_album_default.png"/>
<icon id="icon_chat" src="icon_chat.png" />
        <icon id="icon_video_default"           src="icon_video_default.png"/>
<icon id="icon_chatroom" src="icon_chatroom.png" />
        <icon id="icon_video_album_default"     src="icon_video_album_default.png"/>
<icon id="icon_chatroom_text" src="icon_chatroom_text.png" />
        <!------------------------------------------------------------------------------------------------------- Devices -->
<icon id="icon_mbox" src="icon_mbox.png" />
        <icon id="icon_ms"                     src="icon_ms.png"/>
<icon id="icon_mbox_received" src="icon_mbox_received.png" />
        <icon id="icon_sd"                      src="icon_sd.png"/>
<icon id="icon_mbox_sent" src="icon_mbox_sent.png" />
        <icon id="icon_cf"                      src="icon_cf.png"/>
<icon id="icon_mbox_create" src="icon_mbox_create.png" />
        <icon id="icon_usb"                    src="icon_usb.png"/>
<!-------------------------- storage devices -------------------------->
        <icon id="icon_psp"                    src="icon_psp.png"/>
<icon id="icon_ms" src="icon_ms.png" />
        <icon id="icon_pspms"                  src="icon_pspms.png"/>
<icon id="icon_sd" src="icon_sd.png" />
        <icon id="icon_usbcamera"              src="icon_usbcamera.png"/>
<icon id="icon_cf" src="icon_cf.png" />
        <icon id="icon_usbaad"                  src="icon_usbaad.png"/>
<icon id="icon_usb" src="icon_usb.png" />
        <!------------------------------------------------------------------------------------------------------- Media players -->
<icon id="icon_psp" src="icon_psp.png" />
        <icon id="icon_playing"                src="icon_playing.png"/>
<icon id="icon_pspms" src="icon_pspms.png" />
        <icon id="icon_mediaserver_search"      src="icon_mediaserver_search.png"/>
<icon id="icon_usbcamera" src="icon_usbcamera.png" />
        <icon id="icon_playlist"                src="icon_playlist.png"/>
<icon id="icon_usbaad" src="icon_usbaad.png" />
        <icon id="icon_playlist_add"            src="icon_playlist_add.png"/>
<!-------------------------- media player -------------------------->
        <icon id="icon_video_upload"            src="icon_video_upload.png"/>
<icon id="icon_playing" src="icon_playing.png" />
    </icontable>
<icon id="icon_mediaserver_search" src="icon_mediaserver_search.png" />
<!--------------------------------------------------------------------------------------------------------------- Mouse pointers -->
<icon id="icon_playlist" src="icon_playlist.png" />
    <pointertable>
<icon id="icon_playlist_add" src="icon_playlist_add.png" />
        <pointer id="pointer_arrow"            src="pointer_arrow.png"    base_x="20"    base_y="5"/>    <!-- Arrow (default) -->
<icon id="icon_video_upload" src="icon_video_upload.png" />
        <pointer id="pointer_pen"              src="pointer_pen.png"      base_x="5"      base_y="40"/>    <!-- Pen (text input) -->
<!-------------------------- default icons -------------------------->
        <pointer id="pointer_finger"            src="pointer_finger.png"    base_x="15"    base_y="10"/>    <!-- Hand Over Clickable Object -->
<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)  -->
        <pointer id="pointer_click"            src="pointer_click.png"    base_x="15"    base_y="10"/>    <!-- Hand Clicking Object -->
<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)  -->
        <pointer id="pointer_hand"              src="pointer_hand.png"      base_x="25"    base_y="20"/>    <!-- Hand Over Draggable Object -->
</icontable>
        <pointer id="pointer_grab"              src="pointer_grab.png"      base_x="25"    base_y="20"/>    <!-- Hand Dragging Object -->
<!-------------------------- background -------------------------->
    </pointertable>
<bgimagetable>
<!--------------------------------------------------------------------------------------------------------------- Notification window -->
<bgimage hd="bgimage_hd.jpg" sd="bgimage_sd.jpg" /> <!-- hd=16:9 sd=4:3 aspect ratio -->
    <notification                              src="notification.png"/>
</bgimagetable>
<!--------------------------------------------------------------------------------------------------------------- Navigation sounds -->
<!-------------------------- mouse pointers -------------------------->
    <setable>
<pointertable>
        <se id="se_cursor"                      src="se_cursor.vag"/>                                        <!-- Cursor movements: left, right, up, down -->
<pointer id="pointer_arrow" src="pointer_arrow.png" base_x="20" base_y="2" /> <!-- Arrow (default) -->
        <se id="se_optionmenu"                  src="se_optionmenu.vag"/>                                    <!-- Open/enter a options menu -->
<pointer id="pointer_pen" src="pointer_pen.png" base_x="6" base_y="38" /> <!-- Pen (text input) -->
        <se id="se_cancel"                      src="se_cancel.vag"/>                                        <!-- Close/exit a options menu -->
<pointer id="pointer_finger" src="pointer_finger.png" base_x="16" base_y="10" /> <!-- Hand Over Clickable Object -->
        <se id="se_decide"                      src="se_decide.vag"/>                                        <!-- Question -->
<pointer id="pointer_click" src="pointer_click.png" base_x="16" base_y="10" /> <!-- Hand Clicking Object -->
        <se id="se_system_ok"                  src="se_system_ok.vag"/>                                    <!-- Accept -->
<pointer id="pointer_hand" src="pointer_hand.png" base_x="23" base_y="17" /> <!-- Hand Over Draggable Object -->
    </setable>
<pointer id="pointer_grab" src="pointer_grab.png" base_x="23" base_y="17" /> <!-- Hand Dragging Object -->
<!--------------------------------------------------------------------------------------------------------------- Backgrounds -->
</pointertable>
    <bgimagetable>
<!-------------------------- sounds -------------------------->
        <bgimage                                hd="hd_1.jpg"              sd="sd_1.jpg"/>
<setable>
    </bgimagetable>
<se id="se_cursor" src="se_cursor.vag" /> <!-- Left, right, up, down, cursor movement -->
<!--------------------------------------------------------------------------------------------------------------- Font (0: original, 1: rounded, 2: pop) -->
<se id="se_optionmenu" src="se_optionmenu.vag" /> <!-- Open/enter a submenu -->
    <font selection="1"/>
<se id="se_cancel" src="se_cancel.vag" /> <!-- Cancel/back from a submenu -->
<!--------------------------------------------------------------------------------------------------------------- Color (1 to 12: color of a month, 0: changes with the month) -->
<se id="se_decide" src="se_decide.vag" /> <!-- Question -->
    <color selection="10"/>
<se id="se_system_ok" src="se_system_ok.vag" /> <!-- Accept -->
</setable>
</theme>
</theme>
</syntaxhighlight>}}
</syntaxhighlight>}}


===Other XML configurations===
*'''<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: [[Template:PlayStation Languages|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
----
Variations


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)
*Reduced infotable
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
{{Boxcode|content=<syntaxhighlight lang="xml">
<infotable>
<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>}}


{{Boxcode|title=Theme_name.xml (section sample)|code=<syntaxhighlight lang="xml">
*Localized info
    <infotable>
This texts replaces the contents in the <info> with a translation for different languages, the "letter codes" used for languages are listed in this table: [[Content_Information_Files#Languages]]
            <!-- default info -->
        <info
            name="Theme Name"
            comment="No comment, thxbye"
        />


            <!-- localized info to replace for spanish language ("letter code "es") -->
Localized info texts are only displayed when the XMB is configured in the same language than the "letter code"
        <localizedinfo
            locale="es"
            name="Nombre del tema"
            comment="No comentarios, graciasadios"
        />
    </infotable>
</syntaxhighlight>}}
{{PlayStation Languages}}


*'''<color selection>'''
If the theme doesnt contains <localizedinfo> the default texts from <info> are used , so <localizedinfo> is not mandatory, and sometimes is not needed (e.g: the name of the theme doesnt need to be translated in most cases)
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)
{{Boxcode|content=<syntaxhighlight lang="xml">
<infotable>
<!-- default info -->
<info
name="Theme Name"
comment="No comment, thxbye"
/>


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)
<!-- localized info to replace for spanish language ("letter code "es") -->
 
<localizedinfo
{{XMB colors}}
locale="es"
name="Nombre del tema"
comment="No comentarios, graciasadios"
/>
</infotable>
</syntaxhighlight>}}


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


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


==XMB Icons (.PNG)==
====XMB Icons (.PNG)====
All icons are 128x128, 32-bit PNG, except the ones in the next table


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 256: Line 229:
! File !! Image type !! Notes
! File !! Image type !! Notes
|-
|-
| icon_photo_default || rowspan="2" | 170x128, 32-bit .PNG || icon for photo without preview
| All the other XMB icons || 128x128, 32-bit .PNG ||  
|-
| icon_photo_album_default || icon for folder with photos
|-
|-
| icon_video_default || rowspan="2" | 228x128, 32-bit .PNG || icon for video without preview
| icon_photo_default || 170x128, 32-bit .PNG ||  
|-
|-
| icon_video_album_default || icon for folder with videos
| icon_photo_album_default || 170x128, 32-bit .PNG ||  
|-
|-
| icon_game_default || | 322x178, 32-bit .PNG || icon for game without ICON0.PNG
| icon_video_default || 228x128, 32-bit .PNG ||  
|-
|-
| icon_game_album_default || 314x178, 32-bit .PNG || icon for game group
| icon_video_album_default || 228x128, 32-bit .PNG ||  
|-
|-
|}
|}


*Default icons
*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
'''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


*Missing icons in newer firmwares ?... like PSvita ?
*Missing icons in newer firmwares ?... like PSvita ?
Line 277: Line 248:
*Missing icons in the example ? (but supported by the compilers)
*Missing icons in the example ? (but supported by the compilers)


==Notification window (.PNG)==
====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)
====Mouse Pointers (.PNG)====
 
====Navigation Sounds (.VAG)====
Sound effects as PlayStation Compressed Sound File.
 
-Total sound data under 256 KB.
 
*Stereo Sounds (same sound used in left and right channels)
{{Boxcode|content=<syntaxhighlight lang="xml">
<setable>
<se id="se_system_ok" left="se_system_ok.vag" right="se_system_ok.vag" /> <!-- General dialog open sound -->
<se id="se_decide" left="se_decide.vag" right="se_decide.vag" /> <!-- Enter sound -->
<se id="se_cancel" left="se_cancel.vag" right="se_cancel.vag" /> <!-- Cancel sound -->
<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 -->
</setable>
</syntaxhighlight>}}
 
*Stereo Sounds (separated sounds for left and right channels)
{{Boxcode|content=<syntaxhighlight lang="xml">
<setable>
<se id="se_system_ok" left="se_system_ok_left.vag" right="se_system_ok_right.vag" /> <!-- General dialog open sound -->
<se id="se_decide" left="se_decide_left.vag" right="se_decide_right.vag" /> <!-- Enter sound -->
<se id="se_cancel" left="se_cancel_left.vag" right="se_cancel_right.vag" /> <!-- Cancel sound -->
<se id="se_optionmenu" left="se_optionmenu_left.vag" right="se_optionmenu_right.vag" /> <!-- Options menu open sound -->
<se id="se_cursor" left="se_cursor_left.vag" right="se_cursor_right.vag" /> <!-- Cursor movement -->
</setable>
</syntaxhighlight>}}
 
====Background (.JPG .RAF)====
 
*The background image (in themes without a .raf background)
-Max size of an image (JPEG normal format): 2MB.
-One theme file can contain at most 24 background images.
 
=====Background table methods=====
Im not sure how many different methods can be used with .JPG backgrounds (some are explained in the readme_e.txt inside the sample that comes with p3tcompiler), maybe is a good idea to create a section for each method with an small example in XML of the <bgimagetable> used. The names of this sections needs to be intuitive (the official "static" and "dynamic" simplification is confusing) --[[User:Sandungas|Sandungas]] 09:36, 12 February 2013 (MSK)


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.
As showed above, with resolution, different type of background can be display.
{{clear}}


==Mouse Pointers (.PNG)==
======Up to XMB boot:======
(system_plugin.rco)


==Navigation Sounds (.VAG)==
In the example the background display will change when you are back to XMB.
(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 )
{{Boxcode|content=<syntaxhighlight lang="xml">
<bgimagetable>
<bgimage hd="hd_1.jpg" sd="sd_1.jpg"/>
<bgimage anim="anim_1.jpg"/> <!--see Animated and 3D Themes (RAF) section for difference-->
<bgimage anim="anim_3.jpg"/>
<bgimage anim="anim_4.jpg"/>
<bgimage anim="anim_2.jpg"/>
<bgimage hd="hd_2.jpg" sd="sd_2.jpg"/>
</bgimagetable>
</syntaxhighlight>}}


Sound effects as PlayStation Compressed Sound File.
======Up to time:======


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
*Method 1 (linked to specific days, in specific year). Time in '''YYYYMMDD''' Format
In the example the image is visible for a period of 1 year (from 31 december 2012, until 31 december 2013)
{{Boxcode|content=<syntaxhighlight lang="xml">
<bgimagetable showtype="days">
<bgimage hd="bgimage_hd.jpg" sd="bgimage_sd.jpg" from="20121231" until="20131231"/>
</bgimagetable>
</syntaxhighlight>}}


{{Boxcode|title=Fake Stereo Sounds (same sound used in left and right channels|code=<syntaxhighlight lang="xml">
*Method 2 (linked to specific days, every year). Time in '''MMDD''' Format
    <setable>
In the example the image is visible only the last day of the year, in all years
        <se id="se_system_ok"              left="se_system_ok.vag"          right="se_system_ok.vag"/>
{{Boxcode|content=<syntaxhighlight lang="xml">
        <se id="se_decide"                left="se_decide.vag"            right="se_decide.vag"/>
<bgimagetable showtype="days">
        <se id="se_cancel"                left="se_cancel.vag"            right="se_cancel.vag"/>
<bgimage hd="bgimage_hd.jpg" sd="bgimage_sd.jpg" from="1231" until="0101"/>
        <se id="se_optionmenu"            left="se_optionmenu.vag"         right="se_optionmenu.vag"/>
</bgimagetable>
        <se id="se_cursor"                 left="se_cursor.vag"             right="se_cursor.vag"/>
    </setable>
</syntaxhighlight>}}
</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>
*Method 3 (linked to date time, all days). Time in '''HH Format'''
        <se id="se_system_ok"             left="se_system_ok_left.vag"     right="se_system_ok_right.vag"/>
In the example the image changes every hour, starting at 00:00 (day starts at 00:00 and ends at 23:00)
        <se id="se_decide"                left="se_decide_left.vag"       right="se_decide_right.vag"/>
{{Boxcode|content=<syntaxhighlight lang="xml">
        <se id="se_cancel"                left="se_cancel_left.vag"       right="se_cancel_right.vag"/>
<bgimagetable showtype="datetime">
        <se id="se_optionmenu"            left="se_optionmenu_left.vag"   right="se_optionmenu_right.vag"/>
<bgimage hd="bgimage0_hd.jpg" sd="bgimage0_sd.jpg" from="00" until="01"/>
        <se id="se_cursor"                 left="se_cursor_left.vag"       right="se_cursor_right.vag"/>
<bgimage hd="bgimage1_hd.jpg" sd="bgimage1_sd.jpg" from="01" until="02"/>
    </setable>
<bgimage hd="bgimage2_hd.jpg" sd="bgimage2_sd.jpg" from="02" until="03"/>
<!-- up to 24 images linked to 24 hours of the day -->
</bgimagetable>
</syntaxhighlight>}}
</syntaxhighlight>}}
*For this method is needed to export each channel of the original sound in a separated WAV


==Background (.JPG .RAF)==
=====Animated and 3D Themes (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")
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.
{| class="wikitable" style="text-align:center; margin:auto"
 
|+Backgrounds sizes
It must comply with these restrictions :
! File !! File type !! File max size !! Group max items !! Group max size
-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
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, SoftImage, and 3ds max) in .dae format https://collada.org/
 
There is a collada plugin for [[http://www.blender.org/ Blender]] (link is at bottom of page). Both blender and the collada plugin are free and open source projects
 
*Script
.js (playstation javascript derivate, also known as PSJS)
 
*Textures
JPEG, DDS can be compiled into RAF (Restriction:...)
 
==XMB color schemes==
The XMB's by default changes his color depending on the current month of the year and brightness depending on the time of day. The color can be configured to "default" (changes every month) or one of the 12 color preconfigured for months, in XMB Settings column ---> Theme settings ---> Color
 
This change of color affects waves, background, all the icons, and other images like the "side menu", the color is applyed to the originall images like a "color filter" layer over them (note originall icons are semitransparent white to improve this effect)
 
The background image changes acordingly with the month. The file '''lines.qrc''' contains 24 '''textures_month_bg_*.dds''' images of 64x32 pixels. Each day has 2 different images for "day" and "night". See [[QGL_modding]]
 
*Speculation
This color setting to apply as a "filter" needs to be stored somewhere :P and probably brightness is stored with it, this is the only code reference we will find to know the exact values used (but the method to apply brighness can be more complicated). At some point it was possible to change the font color in PSP firmwares (this is another "color filter" using the same technique) so is posible similar settings can be used in PS3... the candidate to contain all this easter eggs is '''lines.qrc''', good hunting :) --[[User:Sandungas|Sandungas]] 07:38, 13 February 2013 (MSK)
 
Until somebody finds this values... the next tables are not accurate !
 
{| class="wikitable"
|+ color values are only 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<BR /><sup>(diagonal degrade)<sup />
| Varies
| style="background-color:#8c8484; " |
| style="background-color:#dca80b; " |
| style="background-color:#6eae09; " |
| style="background-color:#d92c55; " |
| style="background-color:#0a4d09; " |
| style="background-color:#6c1ba4; " |
| style="background-color:#25a49b; " |
| style="background-color:#093368; " |
| style="background-color:#ae07bd; " |
| style="background-color:#cca143; " |
| style="background-color:#5b411f; " |
| style="background-color:#cb1800; " |
|-
|-
| bg_sd_'''**'''.jpg || 640x480 JPEG 24bits (4:3 aspect ratio) || 2mb || 24 || ??
! Night background<BR /><sup>(vertical degrade)<sup />
| Varies
| style="background-color:#8c8484; " |
| style="background-color:#dca80b; " |
| style="background-color:#6eae09; " |
| style="background-color:#d92c55; " |
| style="background-color:#0a4d09; " |  
| style="background-color:#6c1ba4; " |
| style="background-color:#25a49b; " |
| style="background-color:#093368; " |
| style="background-color:#ae07bd; " |
| style="background-color:#cca143; " |
| style="background-color:#5b411f; " |
| style="background-color:#cb1800; " |
|-
|-
| bg_hd_'''**'''.jpg  || 1920x1080 JPEG 24bits (16:9 aspect ratio) || 2mb || 24 || ??
! rowspan="2" colspan="2" | Color filter !! colspan="12" | MonthTime
|-
|-
| anim_'''**'''.raf  || ? || ? || 24 || ??
| ??? || ??? || ??? || ??? || ??? || ??? || ??? || ??? || ??? || ??? || ??? || ???
|-
|-
|}
|}


===Static Background (.JPG)===
{| class="wikitable"
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
|+ brightness values are speculative !!!
{{Boxcode|code=<syntaxhighlight lang="xml">
! Time !! DayTime !! NightTime !! NightBrightness !! NightDayBlend !! Alpha
    <bgimagetable>
|-
        <bgimage                hd="bg_hd_1.jpg"        sd="bg_sd_1.jpg"/>
! override_*_HDR.mnu ?
    </bgimagetable>
| ??? || ??? || ??? || ??? || ???
</syntaxhighlight>}}
|-
! Etc...
| ??? || ??? || ??? || ??? || ???
|-
|}


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
----
'''from wikipedia, too speculative'''


The times used in "from" and "until" are included in the period (e.g: from day 01 until day 02.... includes 2 days)
Major color changes occur on the three days before the 15th and 24th of each month, while the color gradually changes between those dates.
{| class="wikitable" style="margin: 1em auto 1em auto"
|+Colors during the year (At noon, full brightness) color values are only orientative !!!
|-
! Date
| <span title = "January15">Jan 15</span>
| <span title = "January24">Jan 24</span>
| <span title = "February15">Feb 15</span>
| <span title = "February24">Feb 24</span>
| <span title = "March15">Mar 15</span>
| <span title = "March24">Mar 24</span>
| <span title = "April15">Apr 15</span>
| <span title = "April24">Apr 24</span>
| <span title = "May15">May 15</span>
| <span title = "May24">May 24</span>
| <span title = "June15">Jun 15</span>
| <span title = "June24">Jun 24</span>
| <span title = "July15">Jul 15</span>
| <span title = "July24">Jul 24</span>
| <span title = "August15">Aug 15</span>
| <span title = "August24">Aug 24</span>
| <span title = "September15">Sep 15</span>
| <span title = "September24">Sep 24</span>
| <span title = "October15">Oct 15</span>
| <span title = "October24">Oct 24</span>
| <span title = "November15">Nov 15</span>
| <span title = "November24">Nov 24</span>
| <span title = "December15">Dec 15</span>
| <span title = "December24">Dec 24</span>
|-
! Color
| style="background:Khaki" |
| style="background:Brown" |
| style="background:OliveDrab" |
| style="background:Green" |
| style="background:Pink" |
| style="background:HotPink" |
| style="background:Silver" |
| style="background:Green" |
| style="background:Thistle" |
| style="background:Purple" |
| style="background:LightBlue" |
| style="background:Teal" |
| style="background:Blue" |
| style="background:DarkBlue" |
| style="background:Purple" |
| style="background:Violet" |
| style="background:Maroon" |
| style="background:Khaki" |
| style="background:#B87333" |
| style="background:Brown" |
| style="background:#CE2029" |
| style="background:Red" |
| style="background:#E0B0FF" |
| style="background:Silver" |
|}


====Backgrounds linked to PS3 time (seconds)====
{| class="wikitable" style="margin: 1em auto 1em auto"
This works simply by including multiple backgrounds, the PS3 will select them sequencially starting from the first of the list.
|+Brightness changes during the day (24 hour) color values are only orientative !!!
|-
! Time
| <span title = "12am">00</span>
| <span title = "1am">01</span>
| <span title = "2am">02</span>
| <span title = "3am">03</span>
| <span title = "4am">04</span>
| <span title = "5am">05</span>
| <span title = "6am">06</span>
| <span title = "7am">07</span>
| <span title = "8am">08</span>
| <span title = "9am">09</span>
| <span title = "10am">10</span>
| <span title = "11am">11</span>
| <span title = "12pm">12</span>
| <span title = "1pm">13</span>
| <span title = "2pm">14</span>
| <span title = "3pm">15</span>
| <span title = "4pm">16</span>
| <span title = "5pm">17</span>
| <span title = "6pm">18</span>
| <span title = "7pm">19</span>
| <span title = "8pm">20</span>
| <span title = "9pm">21</span>
| <span title = "10pm">22</span>
| <span title = "11pm">23</span>
|-
! Value
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#222222" |
| style="background:#444444" |
| style="background:#666666" |
| style="background:#888888" |
| style="background:#AAAAAA" |
| style="background:#CCCCCC" |
| style="background:#EEEEEE" |
| style="background:#CCCCCC" |
| style="background:#AAAAAA" |
| style="background:#888888" |
| style="background:#666666" |
| style="background:#444444" |
| style="background:#222222" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
| style="background:#000000" |
|}


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
==Tutorials & Tools Links==


{{Boxcode|code=<syntaxhighlight lang="xml">
===official:===
<!-------------------------- 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)====
*Theme Settings manual:
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"
http://manuals.playstation.net/document/en/ps3/current/settings/themesettings.html


{{Boxcode|code=<syntaxhighlight lang="xml">
*How do I create my own theme for the PlayStation®3 computer entertainment system?
<!-------------------------- Backgrounds linked to PS3 time (hours of the day). Time in "HH" Format -------------------------->
http://us.playstation.com/support/answer/index.htm?a_id=1205
    <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)====
*Playstation 3 custom theme guidelines v2.00 (official p3tcompiler.exe with a sample theme). This toolset doesnt contains the raf compilers !
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
http://uk.playstation.com/ps3/support/settings/detail/linked235336/item85346/Download-PlayStation-3-Custom-Theme-Guidelines/


{{Boxcode|code=<syntaxhighlight lang="xml">
===Others:===
<!-------------------------- 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>}}


====Backgrounds linked to PS3 time (days of years)====
*Resources&tools, tutorials (Slide Show etc..): http://www.ps3-themes.com/
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)


{{Boxcode|code=<syntaxhighlight lang="xml">
*Homebrews :http://www.ps3devwiki.com/files/Visuals/Themes/
<!-------------------------- 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>}}
 
===Dynamic Background (.RAF)===
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)
*MFW : [http://www.ps3devwiki.com/wiki/PS3MFW_Builder PS3MFW_Builder ]


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)]]
*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
{{Boxcode|code=<syntaxhighlight lang="xml">
    <bgimagetable>
        <bgimage                anim="anim_1.jpg"/>
    </bgimagetable>
</syntaxhighlight>}}


===Combined background methods===
*"Playstation 3 Theme Builder" and "Xross Media Simulator" http://www.lili-chan.com/


====Collisions====
*Interesting info about Animations/3D support in themes http://www.ps3hax.net/showthread.php?t=28426
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)
*See also: [[QGL_modding#QGL |QGL page]]
{{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>}}
 
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)====
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 {{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


*DAE tools
**COLLADA plugin for Blender http://colladablender.illusoft.com/ http://sourceforge.net/projects/colladablender/


{{File Formats}}
*Imageviewer with lot of supported formats http://www.irfanview.com/
<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)