Editing PlayStation 3 Theme (P3T)
Jump to navigation
Jump to search
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: | ||
[[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|300px|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|300px|thumb|left|Original theme]]</div> | ||
=Description= | =Description= | ||
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 in order for users to customize their system's XMB | |||
There is a basic introduction to themes in [http://manuals.playstation.net/document/en/ps3/current/settings/themesettings.html manuals.playstation.net - Theme Settings manual] | |||
*Installation methods | *Installation methods | ||
**Downloaded from PSN (SEN) store | **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) | **Downloaded from web pages using the PS3 web browser (hosted in the server as: '''application/x-ps3-theme''' MIMEtype, and '''p3t''' file extension) | ||
**USB, CF, SD, MS, external storage from path: '''device:/PS3/THEME/Theme Name.p3t''' | **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]) | **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) | **Games main menu (the installation of the theme can be unlocked after completing some requirements inside the game) | ||
**Install packages (.pkg containing an | **Install packages (.pkg containing an .edat) | ||
**Adding themes manually in the default install path: '''dev_hdd0/theme/Theme Name.p3t''' | **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''' | **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") | *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") | ||
{{Boxframe1|content='''Firmware changes related with XMB and Themes''' | {{Boxframe1|content='''Firmware changes related with XMB and Themes''' | ||
* | *Added in firmware 1.90 | ||
** | **Background setting can use an image from internall HDD. In '''Theme settings/Background/Wallpaper''' (then, copied and converted into user profile, hdd0/home/0000000x/theme/wallpaper.png) | ||
* | *Added in firmware 2.00 | ||
** | **Static Themes support. Allows the use of custom themes that change the icons, wallpaper, color, font, and the click sounds. In '''Theme settings/Theme''' | ||
** | **Color setting. In '''Theme settings/Color''' (original: changes with the month, or the 12 colors predefined for each month) | ||
** | **Brightness setting. In '''Theme settings/Background/Brighness''' (normal, -1, -2, -3, -4. -5) | ||
** | **Font setting. In '''Theme settings/Font''' (original, rounded, pop) | ||
* | *Added in firmware 3.00 | ||
** | **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 | ||
** | **Dynamic brightness. XMB now change color depending on the time of day. | ||
** | **The default theme has been changed to an updated version of the 'Original' waves theme (the original theme has been renamed 'Classic'). | ||
**An animated sparkle effect has been added to the "original" theme | |||
**Night time black theme has the current month color as a basis instead of white. ? | **Night time black theme has the current month color as a basis instead of white. ? | ||
}} | }} | ||
=Theme Tools= | =Theme Tools= | ||
Line 42: | Line 42: | ||
==P3Tcompiler== | ==P3Tcompiler== | ||
P3Tcompiler is made by | P3Tcompiler is made by sony and can be downloaded from: [http://uk.playstation.com/ps3/support/settings/detail/linked235336/item85346/Download-PlayStation-3-Custom-Theme-Guidelines/ Playstation 3 custom theme guidelines v2.00]. For a basic guide creating themes with p3tcompiler read: [http://us.playstation.com/support/answer/index.htm?a_id=1205 us.playstation.com/support - How do I create my own theme for the PlayStation®3 computer entertainment system?] | ||
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" | 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" and drag-and-drop over it). The compiled simple.pt3 is created in the same folder of the source simple.xml + lot of temporal .gim files (this conversion from .png--->.gim is a previous step before compiling, but after compilation the .gim files are not erased) | ||
Or use the command line: | Or use the command line: | ||
Line 53: | Line 51: | ||
C:\PS3 Theme Compiler>p3tcompiler.exe -o "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name.xml" | C:\PS3 Theme Compiler>p3tcompiler.exe -o "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name.xml" | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
<br /><br /><br /><br /><br /> | |||
==P3Textractor== | ==P3Textractor== | ||
Line 59: | Line 58: | ||
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" | 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 | Or by command line: | ||
{{Keyboard|content=<syntaxhighlight lang="bash"> | {{Keyboard|content=<syntaxhighlight lang="bash"> | ||
Usage: p3textractor <input theme file> [destination path] | 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\" | C:\PS3 Theme Extractor>p3textractor.exe "C:\PS3 Compiled Themes\Theme Name.p3t" "C:\PS3 Themes Files\Theme Name\" | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
<br /><br /><br /><br /><br /> | |||
==Playstation 3 Theme Builder== | ==Playstation 3 Theme Builder== | ||
http://www.lili-chan.com/ | |||
==Xross Media Simulator== | ==Xross Media Simulator== | ||
http://www.lili-chan.com/ | |||
==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 | |||
==Other tools== | |||
Imageviewer with lot of supported formats [[http://www.irfanview.com/ Irfanview]] (there is a plugin for .DDS) | |||
=Theme Contents= | =Theme Contents= | ||
Line 76: | Line 84: | ||
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. | 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| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<theme> | <theme> | ||
<!-------------------------------------------------------------------------------------------- | <!-- Info --------------------------------------------------------------------------------------------> | ||
<infotable> | |||
<info | |||
comment="Theme Description" | |||
name="Theme Name" | |||
author="You" | |||
url="http://www.ps3devwiki.com" | |||
authoricon="authoricon.png" | |||
version="v2.0" | |||
genre="Modding" | |||
preview="preview.png" | |||
icon="icon.png" | |||
/> | |||
</infotable> | |||
<!---------------------------------------------------------------------------------------------- | <!-- Icons --------------------------------------------------------------------------------------------> | ||
<icontable> | |||
<!----------------------- 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"/> | |||
<!------------------------------ 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"/> | |||
<icon id="icon_default_v" src="icon_default_v.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"/> <!-- Left, right, up, down, cursor movement --> | |||
<se id="se_optionmenu" src="se_optionmenu.vag"/> <!-- Open/enter a submenu --> | |||
<se id="se_cancel" src="se_cancel.vag"/> <!-- Cancel/back from a submenu --> | |||
<se id="se_decide" src="se_decide.vag"/> <!-- Question --> | |||
<se id="se_system_ok" src="se_system_ok.vag"/> <!-- Accept --> | |||
</setable> | |||
<!-- Background --------------------------------------------------------------------------------------> | |||
<bgimagetable> | |||
<bgimage hd="hd_1.jpg" sd="sd_1.jpg"/> | |||
</bgimagetable> | |||
<!-- Font --------------------------------------------------------------------------------------------> | |||
<font selection="1"/> <!-- 0: original, 1: rounded, 2: pop --> | |||
<!-- Color -------------------------------------------------------------------------------------------> | |||
<color selection="10"/> <!-- 1 to 12: color of a month, 0: changes with the month --> | |||
</theme> | </theme> | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
Line 209: | Line 218: | ||
===Other XML configurations=== | ===Other XML configurations=== | ||
*'''<localizedinfo>''' | *'''<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: [[ | 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: [[Content_Information_Files#Languages]] | ||
Localized info texts are only displayed when the | Localized info texts are only displayed when the XMB is configured in the same language than the "letter code" | ||
If the theme doesnt contains <localizedinfo> the default texts from <info> are used , so <localizedinfo> is not mandatory, and | 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) | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<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> | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
*'''<color selection>''' | *'''<color selection>''' | ||
When including one or several backgrounds in a theme 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). You can select a number from 0 to 12. With 0 the color changes every month, and from 1 to 12 to keep a permanent color that matches with a month | |||
{{XMB colors}} | {{XMB colors}} | ||
Line 256: | Line 259: | ||
! File !! Image type !! Notes | ! File !! Image type !! Notes | ||
|- | |- | ||
| | | All the other XMB icons || 128x128, 32-bit .PNG || | ||
|- | |- | ||
| | | icon_photo_default || 170x128, 32-bit .PNG || | ||
|- | |- | ||
| | | icon_photo_album_default || 170x128, 32-bit .PNG || | ||
|- | |- | ||
| | | icon_video_default || 228x128, 32-bit .PNG || | ||
|- | |- | ||
| | | icon_video_album_default || 228x128, 32-bit .PNG || | ||
|- | |- | ||
|} | |} | ||
Line 278: | Line 279: | ||
==Notification window (.PNG)== | ==Notification window (.PNG)== | ||
Background image that appears at top-right corner of XMB for system messages | |||
Background image that appears at top-right corner of XMB for system messages | |||
This image has transparent rounded corners, and is stretched by XMB depending of the | This image has transparent rounded corners, and is stretched by XMB depending of the lenght 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)== | ==Mouse Pointers (.PNG)== | ||
==Navigation Sounds (.VAG)== | ==Navigation Sounds (.VAG)== | ||
Sound effects as PlayStation Compressed Sound File. | 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"/> | |||
<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>}} | </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"/> | |||
<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>}} | </syntaxhighlight>}} | ||
==Background (.JPG .RAF)== | ==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") | 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 | {| class="wikitable" | ||
|+ | |+sizes | ||
! File !! File type !! File max size !! Group max items !! Group max size | ! File !! File type !! File max size !! Group max items !! Group max size | ||
|- | |- | ||
Line 333: | Line 327: | ||
===Static Background (.JPG)=== | ===Static Background (.JPG)=== | ||
The basic entry for 1 background in two | The basic entry for 1 background in two resolutions. Is highly recommended to add both resolutions for compatibility with all TV's | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<bgimagetable> | |||
<bgimage hd="bg_hd_1.jpg" sd="bg_sd_1.jpg"/> | |||
</bgimagetable> | |||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
The next methods using static backgrounds are variations of this entry, and uses a function ( | The next methods using static backgrounds are variations of this entry, and uses a system function (system time) to select the background that is displayed | ||
The | The days used in "from" and "until" are included in the period (e.g: from day 01 until day 02.... includes 2 days) | ||
*PS3 Themes background testkit v1.zip | |||
A collection of themes using the background examples explained in this page, can be used to experiment with other combinations, the file contains several examples xml's and 26 numbered backgrounds in hd/sd resolution (for a total of 52 backgrounds) [http://www.multiupload.nl/BH6PD8YO4D PS3 Themes background testkit v1.zip] (feel free to add more examples to the .zip, upload again, and replace this link by v2, v3, etc...) | |||
====Backgrounds linked to PS3 time (seconds)==== | ====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. | 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 | 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 | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-------------------------- Backgrounds linked to PS3 time (seconds) --------------------------> | <!-------------------------- 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>}} | </syntaxhighlight>}} | ||
====Backgrounds linked to PS3 time (hours of the day)==== | ====Backgrounds linked to PS3 time (hours of the day)==== | ||
Note the | Note the maximun 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| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-------------------------- Backgrounds linked to PS3 time (hours of the day). Time in "HH" Format --------------------------> | <!-------------------------- 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>}} | </syntaxhighlight>}} | ||
Line 373: | Line 370: | ||
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 | 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 | ||
{{Boxcode| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-------------------------- Backgrounds linked to PS3 time (days of months). Time in MMDD Format --------------------------> | <!-------------------------- 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>}} | </syntaxhighlight>}} | ||
Line 383: | Line 380: | ||
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) | 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| | {{Boxcode|content=<syntaxhighlight lang="xml"> | ||
<!-------------------------- Backgrounds linked to PS3 time (days of years). Time in "YYYYMMDD" Format --------------------------> | <!-------------------------- 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>}} | </syntaxhighlight>}} | ||
===Dynamic Background (.RAF)=== | ===Dynamic Background (.RAF)=== | ||
In this themes the background | In this themes the "background scene" (compiled in .RAF format but renamed to '''anim_1.jpg''' by the compiler) is composed by: 3d geometry models and 3d light models (.dae), textures (.dds), a script (.js), and a scene setting file (.xml) | ||
RAF | This is the entry that links to the .RAF from the main '''Theme Scene.XML''' file. Note inside the .RAF there is another '''RAF Scene.XML''' that is very different | ||
{{Boxcode|content=<syntaxhighlight lang="xml"> | |||
<bgimagetable> | |||
<bgimage anim="anim_1.jpg"/> | |||
</bgimagetable> | |||
</syntaxhighlight>}} | |||
====RAF contents==== | |||
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. | |||
It must comply with these restrictions : | |||
-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) | |||
=====RAF Scene (.XML)===== | |||
=====Models (.DAE)===== | |||
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 | |||
Models can be geometric 3D objects, or 3D light points | |||
*Typical objects and names used: | |||
**bg.dae | |||
**ambient_light.dae | |||
**point_light.dae | |||
Models files contains references to the libraryes that was used by the 3D app that buid the object | |||
*Typical entries found in models (3d objects) | |||
**<asset> | |||
**<library_physics_scenes> | |||
**<library_images> | |||
**<library_materials> | |||
**<library_effects> | |||
**<library_geometries> | |||
**<library_visual_scenes> | |||
**<scene> | |||
*Typical entries found in models (3d lights) | |||
**<asset> | |||
**<library_physics_scenes> | |||
**<library_lights> | |||
**<library_visual_scenes> | |||
**<scene> | |||
=====Textures (.DDS)===== | |||
=====Script (.JS)===== | |||
.js (playstation javascript derivate, also known as PSJS) | |||
script.js | |||
===Combined background methods=== | ===Combined background methods=== | ||
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 (xmb dont crashes and the theme keeps working as normal). When a collision happens the first background matching the time is used | |||
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 | |||
*Collisions examples | |||
{{Boxcode|content=<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>}} | |||
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) | 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) | ||
====Static and Dynamic backgrounds linked to PS3 time (seconds)==== | ====Static and Dynamic backgrounds linked to PS3 time (seconds)==== | ||
This combines static (.jpg images), and dynamic (.raf animations) backgrounds, selected based on seconds | This combines static (.jpg images), and dynamic (.raf animations) backgrounds, selected based on seconds | ||
{{Boxcode| | {{Boxcode|content=<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>}} | </syntaxhighlight>}} | ||
See also | ==Tutorials & Links== | ||
*Resources&tools, tutorials (Slide Show etc..): http://www.ps3-themes.com/ | |||
*Homebrews :http://www.ps3devwiki.com/files/Visuals/Themes/ | |||
*MFW : [http://www.ps3devwiki.com/wiki/PS3MFW_Builder PS3MFW_Builder ] | |||
*Interesting info about Animations/3D support in themes http://www.ps3hax.net/showthread.php?t=28426 | |||
*See also: [[QGL_modding#QGL |QGL 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/ |