Talk:Qt Resource Container (QRC): Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
Line 1: Line 1:
== QRC filebase ==
== QRC filebase ==
QRC from version 1.00 up and including 4.50 : http://mir.cr/TSR5E8PM (32078 KB RAR / unpacked size 243425713 bytes)
*QRC from version 1.00 up and including 4.50 : http://mir.cr/TSR5E8PM (32078 KB RAR / unpacked size 243425713 bytes)
**CRC32 hashes generated with quickSFV http://pastebin.com/raw.php?i=40h6iMCA


==External Links==
==External Links==

Revision as of 20:14, 18 November 2013

QRC filebase

External Links

  • QRC modding by eustolio: http://www.scenespain.net/foro/tutoriales-ps3/tutorial-xmb-custom-cambia-el-color-e-iconos-base-del-xmb/ (2011 may 29)
    • Corrections: None :)
  • XMB wave modding by glowball: http://www.ps3hax.net/showthread.php?t=25618 (2011 july 1) and http://www.ps3hax.net/showthread.php?t=58673 (2013 july 4)
    • Corrections:
      • The concept of PAL/NTSC wave is wrong. The wave is common for all PS3 models, resolutions, aspect ratios, and regions. The 8 bytes at the start of the file doesnt has any relationship with PAL/NTSC
      • There is no javascript inside the QRC container, the supposed .js file used in glowball method is a chunk of data containing several .mnu files (included the padding between them)
      • The idea of an "imaginary" javascript hides the real explain of the structure or what you are patching, making users to dont understand a word and promoting the "blind testing"
      • In the case you want to patch 1 byte... you are patching a huge area instead
      • Using hardcoded offsets is a safe way to break compatility when the files changes in with newer firmwares and good for softbricking, there is no advise of incompatibility problems


VPO FPO Decoding

If you are interested in decoding the vpo & fpo files, use cgc-disasm.exe (wrote by eustolio at: http://www.ps3hax.net/showthread.php?t=25618&p=229602&viewfull=1#post229602 )

sce-cgcdisasm -o outfile imputfile (shader)
# profile sce_vp_rsx
# parameterCount 20
# instructionCount 4
# registerCount 1
# attributeInputMask Attr0
# attributeOutputMask None
# userClipMask 0: DISABLE, 1: DISABLE, 2: DISABLE, 3: DISABLE, 4: DISABLE, 5: DISABLE

index: type: name: semantic: res or resIndex
#0: float4: oldpos: in.POSITION0: ATTR0
#1: float4: newpos: out.POSITION0: HPOS
#2: float2: oldcrd: in.TEXCOORD0: ATTR8
#3: float4: oldnrm: in.TEXCOORD1: ATTR9
#4: float4: newcol: out.COLOR0: COL0
#5: float: _Fresnel: : UNDEFINED
#6: float: _Falloff: : UNDEFINED
#7: float: _Brightness: : UNDEFINED
#8: float: _MipmapBias: : UNDEFINED
#9: float4: _Eye: : UNDEFINED
#10: float4x4: _MVM: : C[256]
#11: float4: _MVM[0]: : C[256]
#12: float4: _MVM[1]: : C[257]
#13: float4: _MVM[2]: : C[258]
#14: float4: _MVM[3]: : C[259]
#15: float4x4: _MIT: : UNDEFINED
#16: float4: _MIT[0]: : UNDEFINED
#17: float4: _MIT[1]: : UNDEFINED
#18: float4: _MIT[2]: : UNDEFINED
#19: float4: _MIT[3]: : UNDEFINED

DP4 o[0].w, v[0], c[259];
DP4 o[0].z, v[0], c[258];
DP4 o[0].y, v[0], c[257];
DP4 o[0].x, v[0], c[256];
END
sce-cgcdisasm -h outfile imputfile (for header)
#ifndef _lib_moyou_lines0_params_H_
#define _lib_moyou_lines0_params_H_

typedef struct {
	int res;
	int resindex;
	int dvindex;
} CellGcm_lib_moyou_lines0_params_Table;

typedef struct {
	float defaultvalue[4];
} CellGcm_lib_moyou_lines0_params_DefaultValueTable;

enum CellGcm_lib_moyou_lines0_params_Enum {
	CELL_GCM_lib_moyou_lines0_params_oldpos = 0,
	CELL_GCM_lib_moyou_lines0_params_newpos = 1,
	CELL_GCM_lib_moyou_lines0_params_oldcrd = 2,
	CELL_GCM_lib_moyou_lines0_params_oldnrm = 3,
	CELL_GCM_lib_moyou_lines0_params_newcol = 4,
	CELL_GCM_lib_moyou_lines0_params___Fresnel = 5,
	CELL_GCM_lib_moyou_lines0_params___Falloff = 6,
	CELL_GCM_lib_moyou_lines0_params___Brightness = 7,
	CELL_GCM_lib_moyou_lines0_params___MipmapBias = 8,
	CELL_GCM_lib_moyou_lines0_params___Eye = 9,
	CELL_GCM_lib_moyou_lines0_params___MVM = 10,
	CELL_GCM_lib_moyou_lines0_params___MVM_0 = 11,
	CELL_GCM_lib_moyou_lines0_params___MVM_1 = 12,
	CELL_GCM_lib_moyou_lines0_params___MVM_2 = 13,
	CELL_GCM_lib_moyou_lines0_params___MVM_3 = 14,
	CELL_GCM_lib_moyou_lines0_params___MIT = 15,
	CELL_GCM_lib_moyou_lines0_params___MIT_0 = 16,
	CELL_GCM_lib_moyou_lines0_params___MIT_1 = 17,
	CELL_GCM_lib_moyou_lines0_params___MIT_2 = 18,
	CELL_GCM_lib_moyou_lines0_params___MIT_3 = 19,
};

CellGcm_lib_moyou_lines0_params_Table lib_moyou_lines0_params[20] = {
	{2113, -1, -1}, /* index:0, "oldpos" */
	{2243, -1, -1}, /* index:1, "newpos" */
	{2121, -1, -1}, /* index:2, "oldcrd" */
	{2122, -1, -1}, /* index:3, "oldnrm" */
	{2245, -1, -1}, /* index:4, "newcol" */
	{3256, -1, -1}, /* index:5, "_Fresnel" */
	{3256, -1, -1}, /* index:6, "_Falloff" */
	{3256, -1, -1}, /* index:7, "_Brightness" */
	{3256, -1, -1}, /* index:8, "_MipmapBias" */
	{3256, -1, -1}, /* index:9, "_Eye" */
	{2178, 256, -1}, /* index:10, "_MVM" */
	{2178, 256, -1}, /* index:11, "_MVM[0]" */
	{2178, 257, -1}, /* index:12, "_MVM[1]" */
	{2178, 258, -1}, /* index:13, "_MVM[2]" */
	{2178, 259, -1}, /* index:14, "_MVM[3]" */
	{3256, -1, -1}, /* index:15, "_MIT" */
	{3256, -1, -1}, /* index:16, "_MIT[0]" */
	{3256, -1, -1}, /* index:17, "_MIT[1]" */
	{3256, -1, -1}, /* index:18, "_MIT[2]" */
	{3256, -1, -1}, /* index:19, "_MIT[3]" */
};

CellGcm_lib_moyou_lines0_params_DefaultValueTable lib_moyou_lines0_params_default_value[0] = {
};

#endif //_lib_moyou_lines0_params_H_