Qt Resource Container (QRC): Difference between revisions
(→General format: acronym... there are references to "Qt" in other parts of XMB) |
m (→QRCF: test color table) |
||
Line 25: | Line 25: | ||
*Example from 3.55 lines.qrc: | *Example from 3.55 lines.qrc: | ||
'''Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F''' | '''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.......@..%| | '''00000000''' <span style="background:#ff6666;">51 52 43 46 00 00 01 10 00 00 00 40 00 00 25 7C</span> QRCF.......@..%| | ||
'''00000010''' 00 00 25 C0 00 00 14 02 00 00 39 D0 00 00 00 1B ..%À......9Ð.... | '''00000010''' <span style="background:#66ff66;">00 00 25 C0 00 00 14 02</span> <span style="background:#ffff66;">00 00 39 D0 00 00 00 1B</span> ..%À......9Ð.... | ||
'''00000020''' 00 00 39 F0 00 00 00 00 00 00 39 F0 00 00 00 00 ..9ð......9ð.... | '''00000020''' <span style="background:#ffff66;">00 00 39 F0 00 00 00 00 00 00 39 F0 00 00 00 00</span> ..9ð......9ð.... | ||
'''00000030''' 00 00 39 F0 00 08 40 70 00 00 00 00 00 00 00 00 | '''00000030''' <span style="background:#ffff66;">00 00 39 F0 00 08 40 70 00 00 00 00 00 00 00 00</span>..9ð..@p........ | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 42: | Line 38: | ||
| style="background-color:#515243; color:#FFFFFF;" |'''Remark''' | | style="background-color:#515243; color:#FFFFFF;" |'''Remark''' | ||
|- | |- | ||
| Magic header | | <span style="background:#ff6666;">Magic header || 0x00 || 0x04 || 51 52 43 46 || 'QRCF' | ||
|- | |- | ||
| Version || 0x04 || 0x04 || 00 00 01 10 || | | <span style="background:#ff6666;">Version || 0x04 || 0x04 || 00 00 01 10 || | ||
|- | |- | ||
| Size header || 0x08 || 0x04 || 00 00 00 40 || | | <span style="background:#ff6666;">Size header || 0x08 || 0x04 || 00 00 00 40 || | ||
|- | |- | ||
| Size extended header || 0x0C || 0x04 || 00 00 25 7C || | | <span style="background:#ff6666;">Size extended header || 0x0C || 0x04 || 00 00 25 7C || | ||
|- | |- | ||
| Offset file list || 0x10 || 0x04 || 00 00 25 C0 || | | <span style="background:#66ff66;">Offset file list || 0x10 || 0x04 || 00 00 25 C0 || | ||
|- | |- | ||
| Size file list || 0x14 || 0x04 || 00 00 14 02 || | | <span style="background:#66ff66;">Size file list || 0x14 || 0x04 || 00 00 14 02 || | ||
|- | |- | ||
| Offset Header embedded files || 0x18 || 0x04 || 00 00 39 D0 || | | <span style="background:#ffff66;">Offset Header embedded files || 0x18 || 0x04 || 00 00 39 D0 || | ||
|- | |- | ||
| Size Header embedded files || 0x1C || 0x04 || 00 00 00 1B || | | <span style="background:#ffff66;">Size Header embedded files || 0x1C || 0x04 || 00 00 00 1B || zeroed padding alignment | ||
|- | |- | ||
| Offset embedded files || 0x20 || 0x04 || 00 00 39 F0 || | | <span style="background:#ffff66;">Offset embedded files || 0x20 || 0x04 || 00 00 39 F0 || | ||
|- | |- | ||
| Not used || 0x24 || 0x04 || 00 00 00 00 || | | <span style="background:#ffff66;">Not used || 0x24 || 0x04 || 00 00 00 00 || | ||
|- | |- | ||
| Offset embedded files || 0x28 || 0x04 || 00 00 39 F0 || | | <span style="background:#ffff66;">Offset embedded files || 0x28 || 0x04 || 00 00 39 F0 || | ||
|- | |- | ||
| Not used || 0x2C || 0x04 || 00 00 00 00 || | | <span style="background:#ffff66;">Not used || 0x2C || 0x04 || 00 00 00 00 || | ||
|- | |- | ||
| Offset embedded files || 0x30 || 0x04 || 00 00 39 F0 || | | <span style="background:#ffff66;">Offset embedded files || 0x30 || 0x04 || 00 00 39 F0 || | ||
|- | |- | ||
| Size embedded files || 0x34 || 0x04 || 00 08 40 70 || | | <span style="background:#ffff66;">Size embedded files || 0x34 || 0x04 || 00 08 40 70 || | ||
|- | |- | ||
| Not used || 0x38 || 0x04 || 00 00 00 00 || | | <span style="background:#ffff66;">Not used || 0x38 || 0x04 || 00 00 00 00 || | ||
|- | |- | ||
| Not used || 0x3C || 0x04 || 00 00 00 00 || | | <span style="background:#ffff66;">Not used || 0x3C || 0x04 || 00 00 00 00 || | ||
|- | |- | ||
|} | |} |
Revision as of 09:20, 11 October 2013
location: /dev_flash/vsh/resource/qgl
General format
QGL (Qt Graphics Library) based in Qt framework and OpenGL
QRCC
QRCC (Qt ResourCes 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 F?)
QRC "container" with an structure similar than themes .p3t
- 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 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 | 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
- 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
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)
DDS
- This tiny tool can extract embedded .dds, heavily based on an MPO splitter by Christian Steinruecken.
http://rghost.net/47483926 (include Code-Compile-Credit. Drag and drop your file with embedded .dds)