Qt Resource Container (QRC): Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 488: | Line 488: | ||
<!--// perhaps great to have screenshots + samples per each item and its useage explained //--> | <!--// perhaps great to have screenshots + samples per each item and its useage explained //--> | ||
<!--// see also : http://www.ps3hax.net/showthread.php?t=25618 //--> | <!--// see also : http://www.ps3hax.net/showthread.php?t=25618 //this thread is already linked above//--> | ||
== Tools == | == Tools == | ||
Line 500: | Line 500: | ||
*Theses tiny little tools extract blindly & only embedded files and are means to be tiny and independent. Heavily based on an [http://www.ps3devwiki.com/wiki/Talk:Content_Information_Files MPO splitter] by Christian Steinruecken, they | *Theses tiny little tools extract blindly & only embedded files and are means to be tiny and independent. Heavily based on an [http://www.ps3devwiki.com/wiki/Talk:Content_Information_Files MPO splitter] by Christian Steinruecken, they | ||
http://rghost.net/49331859 (include Code-Compile-Credit. Drag and drop your file with embedded .dds/mnu/jpg) | http://rghost.net/49331859 (include Code-Compile-Credit. Drag and drop your file with embedded .dds/mnu/jpg) & mirror links: http://mir.cr/6N9JRFRD |
Revision as of 16:19, 12 October 2013
location: /dev_flash/vsh/resource/qgl
General format
QGL (Qt Graphics Library) based in Qt framework and OpenGL
QRCC
QRCC (Qt Resources Container Compressed)
QRC file ZLIB Compressed level 9.
- Example from 3.55 lines.qrc:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 51 52 43 43 00 08 7A 60 QRCC..z`
51 52 43 43 magic header 'QRCC' 00 divisor 08 7A 60 size of ZLIB unpacked (QRCF) file
QRCF
QRCF (Qt Resources Container F?)
QRC "container" with an structure similar than themes .p3t
- Example from fw 3.55 lines.qrc (difference header on fw 4.46 lines.qrc: Size embedded files is 0x00 08 60 F0):
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 51 52 43 46 00 00 01 10 00 00 00 40 00 00 25 7C QRCF.......@..%| 00000010 00 00 25 C0 00 00 14 02 00 00 39 D0 00 00 00 1B ..%À......9Ð.... 00000020 00 00 39 F0 00 00 00 00 00 00 39 F0 00 00 00 00 ..9ð......9ð.... 00000030 00 00 39 F0 00 08 40 70 00 00 00 00 00 00 00 00..9ð..@p........
Name | Offset | Size | Example | Remark |
Magic header | 0x00 | 0x04 | 51 52 43 46 | 'QRCF' |
Version | 0x04 | 0x04 | 00 00 01 10 | |
Size header | 0x08 | 0x04 | 00 00 00 40 | |
Size extended header | 0x0C | 0x04 | 00 00 25 7C | |
Offset file list | 0x10 | 0x04 | 00 00 25 C0 | |
Size file list | 0x14 | 0x04 | 00 00 14 02 | |
Offset Header embedded files | 0x18 | 0x04 | 00 00 39 D0 | |
Size Header embedded files | 0x1C | 0x04 | 00 00 00 1B | without zeroed padding alignment |
Offset embedded files | 0x20 | 0x04 | 00 00 39 F0 | |
Not used | 0x24 | 0x04 | 00 00 00 00 | |
Offset embedded files | 0x28 | 0x04 | 00 00 39 F0 | |
Not used | 0x2C | 0x04 | 00 00 00 00 | |
Offset embedded files | 0x30 | 0x04 | 00 00 39 F0 | |
Size embedded files | 0x34 | 0x04 | 00 08 40 70 | |
Not used | 0x38 | 0x04 | 00 00 00 00 | |
Not used | 0x3C | 0x04 | 00 00 00 00 |
Mods
canyon.qrc
location: /dev_flash/vsh/resource/qgl
earth.qrc
location: /dev_flash/vsh/resource/qgl
icons.qrc
location: /dev_flash/vsh/resource/qgl
icontex.qrc
location: /dev_flash/vsh/resource/qgl
lines.qrc
location: /dev_flash/vsh/resource/qgl
- 159 Contents (by file extensions):
- 02 .ELF (wave and sparks animations)
- 47 .FPO (openGL libraries)
- 11 .VPO (unknown libraries)
- 69 .MNU (openGL settings)
- 24 .DDS (wallpapers)
- 06 .TGA (sparks texture + unknown)
File list (fw 4.46) :
Name | Type | Remark |
---|---|---|
BACKGROUND.mnu | .mnu | |
HDR.mnu | .mnu | |
LINE1.mnu | .mnu | |
override/black/BACKGROUND.mnu | .mnu | |
override/black/HDR.mnu | .mnu | |
override/black/LINE1.mnu | .mnu | |
override/black/PARTICLES.mnu | .mnu | |
override/bright/BACKGROUND.mnu | .mnu | |
override/bright/HDR.mnu | .mnu | |
override/bright/LINE1.mnu | .mnu | |
override/coldboot1/BACKGROUND.mnu | .mnu | |
override/coldboot1/HDR.mnu | .mnu | |
override/coldboot1/LINE1.mnu | .mnu | |
override/coldboot1/PARTICLES.mnu | .mnu | |
override/coldboot2/BACKGROUND.mnu | .mnu | |
override/coldboot2/HDR.mnu | .mnu | |
override/coldboot2/LINE1.mnu | .mnu | |
override/coldboot2/PARTICLES.mnu | .mnu | |
override/day/BACKGROUND.mnu | .mnu | |
override/day/HDR.mnu | .mnu | |
override/day/LINE1.mnu | .mnu | |
override/day/PARTICLES.mnu | .mnu | |
override/gameboot1/BACKGROUND.mnu | .mnu | |
override/gameboot1/HDR.mnu | .mnu | |
override/gameboot1/LINE1.mnu | .mnu | |
override/gameboot2/BACKGROUND.mnu | .mnu | |
override/gameboot2/HDR.mnu | .mnu | |
override/gameboot2/LINE1.mnu | .mnu | |
override/gameboot3/BACKGROUND.mnu | .mnu | |
override/gameboot3/HDR.mnu | .mnu | |
override/gameboot3/LINE1.mnu | .mnu | |
override/gameboot3/PARTICLES.mnu | .mnu | |
override/gameboot4/BACKGROUND.mnu | .mnu | |
override/gameboot4/HDR.mnu | .mnu | |
override/gameboot4/LINE1.mnu | .mnu | |
override/gameboot4/PARTICLES.mnu | .mnu | |
override/gameboot5/BACKGROUND.mnu | .mnu | |
override/gameboot5/HDR.mnu | .mnu | |
override/gameboot5/LINE1.mnu | .mnu | |
override/higure/BACKGROUND.mnu | .mnu | |
override/higure/HDR.mnu | .mnu | |
override/higure/LINE1.mnu | .mnu | |
override/higure/PARTICLES.mnu | .mnu | |
override/initial_setting/BACKGROUND.mnu | .mnu | |
override/initial_setting/HDR.mnu | .mnu | |
override/initial_setting/LINE1.mnu | .mnu | |
override/music_1/BACKGROUND.mnu | .mnu | |
override/music_1/HDR.mnu | .mnu | |
override/music_1/LINE1.mnu | .mnu | |
override/music_1/PARTICLES.mnu | .mnu | |
override/night/BACKGROUND.mnu | .mnu | |
override/night/HDR.mnu | .mnu | |
override/night/LINE1.mnu | .mnu | |
override/night/PARTICLES.mnu | .mnu | |
override/yoake/BACKGROUND.mnu | .mnu | |
override/yoake/HDR.mnu | .mnu | |
override/yoake/LINE1.mnu | .mnu | |
override/yoake/PARTICLES.mnu | .mnu | |
override/welcome_1/BACKGROUND.mnu | .mnu | |
override/welcome_1/HDR.mnu | .mnu | |
override/welcome_1/LINE1.mnu | .mnu | |
override/welcome_1/PARTICLES.mnu | .mnu | |
override/welcome_2/BACKGROUND.mnu | .mnu | |
override/welcome_2/HDR.mnu | .mnu | |
override/welcome_2/LINE1.mnu | .mnu | |
override/welcome_2/PARTICLES.mnu | .mnu | |
textures/TGA/Noise.tga | .tga | |
textures/TGA/freslut0.tga | .tga | |
textures/TGA/freslut1.tga | .tga | |
textures/TGA/freslut2.tga | .tga | |
textures/TGA/freslut.tga | .tga | |
textures/month_bg/rgb/01.dds | .dds | |
textures/month_bg/rgb/02.dds | .dds | |
textures/month_bg/rgb/03.dds | .dds | |
textures/month_bg/rgb/04.dds | .dds | |
textures/month_bg/rgb/05.dds | .dds | |
textures/month_bg/rgb/06.dds | .dds | |
textures/month_bg/rgb/07.dds | .dds | |
textures/month_bg/rgb/08.dds | .dds | |
textures/month_bg/rgb/09.dds | .dds | |
textures/month_bg/rgb/10.dds | .dds | |
textures/month_bg/rgb/11.dds | .dds | |
textures/month_bg/rgb/12.dds | .dds | |
textures/month_bg/night/01.dds | .dds | |
textures/month_bg/night/02.dds | .dds | |
textures/month_bg/night/03.dds | .dds | |
textures/month_bg/night/04.dds | .dds | |
textures/month_bg/night/05.dds | .dds | |
textures/month_bg/night/06.dds | .dds | |
textures/month_bg/night/07.dds | .dds | |
textures/month_bg/night/08.dds | .dds | |
textures/month_bg/night/09.dds | .dds | |
textures/month_bg/night/10.dds | .dds | |
textures/month_bg/night/11.dds | .dds | |
textures/month_bg/night/12.dds | .dds | |
spurs/moyou/spline/spline.elf | .elf | |
lib/glutils/AccGlare.fpo | .fpo | |
lib/gutils/ApplyDisplay.fpo | .fpo | |
lib/glutils/ApplyGlare.fpo | .fpo | |
lib/glutils/BloomCone.fpo | .fpo | |
lib/glutils/BloomDecay.fpo | .fpo | |
lib/glutils/BlurAcc.fpo | .fpo | |
lib/glutils/BlurOutput.fpo | .fpo | |
lib/glutils/BlurOutputFG.fpo | .fpo | |
lib/glutils/ConeFilter.fpo | .fpo | |
lib/glutils/CookieCutter.fpo | .fpo | |
lib/glutils/CookieCutter.vpo | .vpo | |
lib/glutils/Copy.fpo | .fpo | |
lib/glutils/CopyMRT.fpo | .fpo | |
lib/glutils/CopyVarAlpha.fpo | .fpo | |
lib/glutils/DoubleGaussian.fpo | .fpo | |
lib/glutils/GaussBloomAndBlur.fpo | .fpo | |
lib/glutils/Gaussian.fpo | .fpo | |
lib/glutils/Gaussian.vpo | .vpo | |
lib/glutils/GlareSource.fpo | .fpo | |
lib/glutils/GlareSourceMRT.fpo | .fpo | |
lib/glutils/GlareSourceNoTone.fpo | .fpo | |
lib/glutils/GlareSourcePre.fpo | .fpo | |
lib/glutils/ScreenCopy.fpo | .fpo | |
lib/glutils/ToneApplyDisplay.fpo | .fpo | |
lib/glutils/ToneApplyDisplayMRT.fpo | .fpo | |
lib/glutils/ToneMap.fpo | .fpo | |
lib/glutils/ToneMerge.fpo | .fpo | |
lib/glutils/ToneSplit.fpo | .fpo | |
lib/moyou/background.fpo | .fpo | |
lib/moyou/background.vpo | .vpo | |
lib/moyou/back_colours0.fpo | .fpo | |
lib/moyou/back_colours1.fpo | .fpo | |
lib/moyou/back_colours2.fpo | .fpo | |
lib/moyou/back_colours_cpy.fpo | .fpo | |
lib/moyou/ffd_alpha_blend.fpo | .fpo | |
lib/moyou/ffd_shader0.fpo | .fpo | |
lib/moyou/ffd_shader1.fpo | .fpo | |
lib/moyou/ffd_shader2.fpo | .fpo | |
lib/moyou/ffd_shader3.fpo | .fpo | |
lib/moyou/lines0.fpo | .fpo | |
lib/moyou/lines0.vpo | .vpo | |
lib/moyou/lines1.fpo | .fpo | |
lib/moyou/lines1.vpo | .vpo | |
lib/moyou/lines2.fpo | .fpo | |
lib/moyou/lines2.vpo | .vpo | |
lib/moyou/LinesController.fpo | .fpo | |
lib/moyou/LinesController.vpo | .vpo | |
lib/moyou/LinesControllerQuin.fpo | .fpo | |
lib/moyou/LinesEdge.fpo | .fpo | |
lib/moyou/bg_copy.fpo | .fpo | |
particles/proc_iridescent.tga | .tga | Iridescence |
spurs/particles/particles/particles.elf | .elf | |
lib/particles/particles_quads.fpo | .fpo | |
lib/particles/particles_quads_debug.fpo | .fpo | |
lib/particles/particles_second.fpo | .fpo | |
lib/particles/particles_quads.vpo | .vpo | |
lib/particles/particles_quads_debug.vpo | .vpo | |
lib/particles/particles_second.vpo | .vpo | |
PARTICLES.mnu | .mnu | |
PARTICLES_SPE.mnu | .mnu | |
PARTICLES_UI.mnu | .mnu | |
lib/devgui/DebugGui.vpo | .vpo | |
lib/devgui/DebugGui.fpo | .fpo |
- XMB wave modding: http://www.ps3hax.net/showthread.php?t=25618 and http://www.ps3hax.net/showthread.php?t=58673
Notes (this section is speculative until someone finds where the values are stored, feel free to improve it)
Sparks dynamic animation (sparks movement affected by cursor position and "fluid density")
The sparks movement is affected by the displacement of the cursor when moving along XMB columns and rows (left-right, or up-down directions). When the cursor moves fast to a new position the sparks "tends" to move in the opposite direction trying to mimic a real fluid like air or water
To see this effect is good to configure a black wallpaper and enable all the options iside "theme settings" to "original" (this will make the sparks very visibles). Then start moving the cursor from left column (user) <---> to right column (friends)... or from top item <---> to bottom item in any colums (more visible in a column with several items, like game)... and note how the sparks directions are affected :)
This proves the sparks is a dynamic animation, is constantly "reading" the position of the cursor to adjust particle directions
wallpapers After extraction, the 24 .dds images used as wallpapers shares the same header (0x80 bytes), after the header starts the pixel info (each pixel is 4 bytes length in RGBA format). Is posible to change the pixel info without changing the header
00 00 00 FF = black pixel
raf.qrc
location: /dev_flash/vsh/resource/qgl
rhm.qrc
location: /dev_flash/vsh/resource/qgl
- 11 Contents (by file extensions):
- 08 .FPO (openGL libraries)
- 03 .VPO (unknown libraries)
Name | Type | Remark |
---|---|---|
lib/rhm/Clear.fpo | .fpo | |
lib/rhm/Clear.vpo | .vpo | |
lib/rhm/Copy.fpo | .fpo | |
lib/rhm/default.fpo | .fpo | |
lib/rhm/default.vpo | .vpo | |
lib/glutils/ConeFilter.fpo | .fpo | |
lib/glutils/ConeFilter.vpo | .vpo | |
lib/glutils/ConeFilterSimple.fpo | .fpo | |
lib/glutils/ScreenCopy.fpo | .fpo | |
lib/glutils/Blur2.fpo | .fpo | |
lib/glutils/Blur2Mask.fpo | .fpo |
store.qrc
location: /dev_flash/vsh/resource/qgl
Tools
QGL
- this tool can decompress a QRCC to QRCF and compress a QRCF to QRCC
https://raw.github.com/wargio/ps3tools/master/QGL.c (just run make to compile it)
Tiny little extractor embedded DDS/MNU/JPG
- Theses tiny little tools extract blindly & only embedded files and are means to be tiny and independent. Heavily based on an MPO splitter by Christian Steinruecken, they
http://rghost.net/49331859 (include Code-Compile-Credit. Drag and drop your file with embedded .dds/mnu/jpg) & mirror links: http://mir.cr/6N9JRFRD