Coldboot.raf: Difference between revisions
m (→Script) |
m (→Script) |
||
Line 239: | Line 239: | ||
footer.setColor (<br, br, br, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change footer color alpha=0 over 1.2 seconds (footer fade-out animation) | footer.setColor (<br, br, br, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change footer color alpha=0 over 1.2 seconds (footer fade-out animation) | ||
logo.setColor (<br, br, br, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change logo color alpha=0 over 1.2 seconds (logo fade-out animation) | logo.setColor (<br, br, br, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change logo color alpha=0 over 1.2 seconds (logo fade-out animation) | ||
light.setPosition (light.position + <1.5 * 1.5, 1 * 1.5, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light position 2.25, 1.5, 0 (weird | light.setPosition (light.position + <1.5 * 1.5, 1 * 1.5, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light position to light position + 2.25, 1.5, 0 (weird) over 1.2 seconds | ||
light.setColor (<0, 0, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light color to black over 1.2 seconds (light-out animation) | light.setColor (<0, 0, 0>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light color to black over 1.2 seconds (light-out animation) | ||
light.setAttenuation (<0, 1, 4>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light attenuation (intensity) to 0, 1, 4 over 1.2 seconds | light.setAttenuation (<0, 1, 4>, fade_duration, INTERPOLATION_BEZIER, Unamed_Variable); // change light attenuation (intensity) to 0, 1, 4 over 1.2 seconds |
Revision as of 22:05, 30 November 2014
Description
dev_flash\vsh\resource\coldboot.raf is the animation when PS3 boots, introduced in firmware 2.70 with raf.sprx and raf.qrc as support.
Rich Appearance Format (RAF) belongs to a group of CXML Containers that uses zlib compression and a XML file enbedded in the container structure with the "scene" information and also works as an index to lists the contained files
Coldboot animation uses settings from the RCOXML Structure of custom render plugin (in RCOXML setion note the animation settings for: anim_coldboot and anim_coldboot2)
Coldboot.raf is the same file in all firmware versions, doesnt contains sound, but is played with sound by using either coldboot_stereo.ac3 (2 audio channels) or coldboot_multi.ac3 (6 audio channels), this audio files has been present from firmware 1.00 but have changed (and also changed the coldboot animations settings inside the RCOXML of custom_render_plugin). See: Multimedia Formats and Tools
https://www.youtube.com/watch?v=GUb1gIKhwMU PlayStation 3 Startup Screens - pre 3.00 + 3.00 and later
http://rghost.net/58821375 the coldboot.raf compiled into a theme (Apply again to get the animation again)
Coldboot Animation (.RAF)
File Name | Size (bytes) |
Hash (MD5) |
Firmware | Notes | |||
---|---|---|---|---|---|---|---|
1.00~2.60 | 2.70~2.80 | 3.00~3.01 | 3.10~4.65 | ||||
coldboot.raf | 51.446 | FBFD819D6CD834AC2BDDA02EE3D5375F | No | Yes | Not present before 2.70, same for all other firmwares |
To extract the files from coldboot.raf is needed to make a zlib decompression and then a CXML extraction (use "CXML decompiler" tool made by flatz, download link and source code is at bottom of CXML Containers page). The extracted files are:
Usage | File Index | Converted File | Original File | Notes | ||
---|---|---|---|---|---|---|
Name | MD5 | Name | MD5 | |||
Scene | metadata | coldboot.sxml | vary with compiler/extractor version/style | coldboot.xml | vary with coding style | The original scene coldboot.xml is converted to coldboot.sxml and then embedded inside RAF structure as metadata |
Model | 0 | plane.edge | AC3AA7B2AE225DD1C2BB207ADDD4C2CB | plane.dae | vary with collada settings | The 3D object, composed by a simple perimetral line that will be "filled" with the textures |
1 | plane.skel | 67409457645F98B0066B52317BF4CB78 | The skeleton of the 3D object, composed by a single joint point, needed by all the animations | |||
Textures | 2 | new_logo.gtf | 6BEEA65407EE1513F08F66E17BBADF61 | new_logo.dds | A4AF73E19F8E07542C5FA3DA39C21967 | 700x350 pixels, the main logo (without the "copyright", "trademark" and "playstation3" text) |
3 | new_logo_footer.gtf | 5E27DFBB474A2AB5A07A91143C8C8054 | new_logo_footer.dds | ABFE60993D102E39926035D9DEA4CFEC | 700x350 pixels, the "copyright", "trademark" and "playstation3" text | |
4 | new_logo_blur.gtf | 49E30C3B46BE3B822324EB373EEF5A9C | new_logo_blur.dds | DE871FB0A8ACBD92CEC267816C072C14 | 700x350 pixels, a blurry copy of logo+footer together | |
5 | new_logo_sd.gtf | ED30E47123D3D68B846DDAC1EBDBDA65 | new_logo_sd.dds | 2B4B56CFFA2A3E3BA868DC56A7F2917C | 240x120 pixels, the main logo (without the "copyright", "trademark" and "playstation3" text) | |
6 | new_logo_sd_footer.gtf | 4037567A9F5ED59D6E96402FA2859ABC | new_logo_sd_footer.dds | B2718D07AB4B6714240F591D00237639 | 240x120 pixels, the "copyright", "trademark" and "playstation3" text | |
7 | new_logo_sd_blur.gtf | 5821260B17B0A5BDD85D0F2BEE9596D0 | new_logo_sd_blur.dds | FF32C90F34FB350C34F58800F69318DB | 240x120 pixels, a blurry copy of logo+footer together | |
Script | 8 | coldboot.jsx | 5461466B242D81B57D872BBA95EED753 | coldboot.js | vary with coding style | Animation script, written in PlayStation JavaScript format (and extracted as a VSMX file). See Pastebin (without the header) |
- Note the extracted files are not the original files used to create the .raf. All them suffered a format conversion when the .raf was created
Scene
As explained on the CXML Containers page, RAF containers include embedded data inside their structure (like metadata, not a real file). This data is generated by the RAF compiler based on the original scene.xml used to create the RAF and is also based on the internal structure of the RAF container (this data about the RAF structure is not present in the original scene.xml)
The XML files generated by "CXML decompiler" contain more info than the original scene.xml. This makes it possible to rebuild (by hand) the original scene.xml using it as a layout for the XML standards explained on the Rich Appearance Format (RAF) page
Note: By looking at the XML file generated by "CXML decompiler", the original coldboot.raf has been built using raf format v1.0 (version="1.0") and doesn't sort the actors (zsort="").
Coldboot.xml (original scene)
Code Sample
Model
The model files extracted by "CXML decompiler" from coldboot.raf (plane.edge and plane.skel) are the coverted files that was generated by the raf compiler from the original model plane.dae
There is no known way to rebuild the original plane.dae via the generated plane.edge and plane.skel file(s). If there is a way it is probably very complex because there is a lot of information omitted from the original .dae when processed by the raf compiler)
For coldboot.raf the plane model seems to be a rectangle that covers the entire screen. A possible way to get the original plane.dae used to create coldboot.raf is by taking a background.dae from one of the unofficial dynamic themes published... then process it with raf compiler and extract with "CXML decompiler", if the extracted files plane.edge and plane.skel from the unofficial theme and coldboot.raf match then you have found the original plane.dae used to create coldboot.raf (if found please post it here, the .dae files are xml based)
Textures
The GTF textures extracted by "CXML decompiler" was originally .DDS images (see: Multimedia Formats and Tools page)
The DDS original format is L8 (8 bits luminance) and can be created with nvidia command line tool (nvdxt.exe) by using this command:
Individual files:
nvdxt.exe -file input.png -L8 -output output.dds
Batch conversion:
nvdxt.exe -file c:\textures_in_png\*.png -L8 -outdir c:\textures_out_dds
- Notes:
- nvidia tool allows a lot of other image formats as input (instead of .png you can use other image formats).
- The image is composed of black/red colors only. Red colors are treated as luminance levels (red colors works like a "light mask") and black colors are transparent.
Script
The extracted coldboot.jsx (from coldboot.raf) by "CXML decompiler" is the file generated by the raf compiler with the original coldboot.js
It is now possible to manually decompile the coldboot.jsx. The process to decompile coldboot.jsx is explained at the bottom of the VSMX page.
The code below is the original coldboot.js (in PlayStation JavaScript format)... after compiling to coldboot.jsx (in VSMX format) the file should have MD5: 5461466B242D81B57D872BBA95EED753
Code Sample
Template:PS3 Coldboot animation timeline
Coldboot Sounds (.AC3)
File Name | Size (bytes) |
Hash (MD5) |
Firmware | Notes | |||
---|---|---|---|---|---|---|---|
1.00~2.60 | 2.70~2.80 | 3.00~3.01 | 3.10~4.65 | ||||
coldboot_stereo.ac3 | 721.920 | 5EB0E4ECE6F221ED07D3128D416ADB44 | Yes | No | Old sound files (coldboot) | ||
coldboot_multi.ac3 | 721.920 | 931D05254C198ED5D202ECAE9A0BC6E2 | |||||
coldboot2_stereo.ac3 | 801.280 | 83D2B05CC85F65A1392614989F71ECFA | No | Yes | No | New sound files. Using new names (coldboot2) | |
coldboot2_multi.ac3 | 801.280 | D837AA7B7AEC6C1A090CBA51CCA9434E | |||||
coldboot_stereo.ac3 | 801.280 | 83D2B05CC85F65A1392614989F71ECFA | No | Yes | New sound files. Using old names (coldboot) | ||
coldboot_multi.ac3 | 801.280 | D837AA7B7AEC6C1A090CBA51CCA9434E |
- coldboot2 sounds overlap notes:
Audio files | Channels | Mode Extension | File Size | Duration | Format | Bit Rate | Sampling Rate | Bit depth |
---|---|---|---|---|---|---|---|---|
old stereo | 2 Front: L R | CM (complete main) | 721.920 bytes | 9s 24ms | AC-3 (Audio Coding 3) | 640 Kbps Constant | 48.0 KHz | 16 bits |
old multi | 6 Front: L C R, Side: L R, LFE | CM (complete main) | ||||||
new stereo | 2 Front: L R | ME (music and effects) | 801.280 bytes | 10s 16ms | ||||
new multi | 6 Front: L C R, Side: L R, LFE | CM (complete main) |
|