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

From PS3 Developer wiki
Jump to navigation Jump to search
(VPO FPO Decoding)
(moved to CXML Containers page)
 
(33 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=VPO FPO Decoding=
==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 )
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)
  sce-cgcdisasm -o outfile imputfile (shader)

Latest revision as of 06:43, 14 June 2014

VPO FPO Decoding[edit source]

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_