Editing Rich Appearance Format (RAF)
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 7: | Line 7: | ||
=RAF structure= | =RAF structure= | ||
See: [[CXML Containers]] page | See: [[CXML Containers]] page | ||
=RAF tools= | |||
==Rich Apparence Maker== | |||
http://r.a.m.games-hack.fr/index.php | |||
guide http://r.a.m.games-hack.fr/doc/Rich%20Appearance%20Maker%20-%20Quick%20Start%20Guide.pdf | |||
R.A.M on PS3 News: http://www.ps3news.com/ps3-hacks-jailbreak/video-ps3-rich-appearance-maker-r-a-m-beta-is-now-open/ | |||
R.A.M on PSX Scene: http://psx-scene.com/forums/content/rich-appearance-maker-r-m-free-beta-now-open-dynamic-theme-maker-2161/ | |||
==PS3 Color Logo Creator V2.511== | |||
PCLC Source: http://tizzyt-archive.blogspot.co.uk/2012/04/playstation-color-logo-creator-v2511.html | |||
PCLC on PS3 News: http://www.ps3news.com/ps3-hacks-jailbreak/ps3-color-logo-creator-v2-50-v2-51-updates-now-available/ | |||
PCLC V2.511 Download: http://www.mediafire.com/download/zbb3e07wdx22jub | |||
=RAF contents= | =RAF contents= | ||
It must comply with these | |||
It must comply with these restrictions : | |||
-Textures size max: 15 mb ( 15728640 Bytes ) ( on [[RSX]] local memory at run time ) | -Textures size max: 15 mb ( 15728640 Bytes ) ( on [[RSX]] local memory at run time ) | ||
-Geometry & script size max: 1 mb ( 1048576 Bytes ) ( on main memory at run time ) | -Geometry & script size max: 1 mb ( 1048576 Bytes ) ( on main memory at run time ) | ||
-Actor size max: 1.25mb ( 1310720 Bytes ) ( in the intermediate buffer ) | -Actor size max: 1.25mb ( 1310720 Bytes ) ( in the intermediate buffer ) | ||
-Actor number max: 128 | |||
-Cameras: 1 | -Cameras: 1 | ||
-Lights: 2 (ambient | -Lights: 2 (ambient + point) | ||
-Scripts: 1 | -Scripts: 1 | ||
-Models: 64 (with 8 animations each model) | |||
==RAF Scene (.XML)== | ==RAF Scene (.XML)== | ||
==Models and Lights (.DAE)== | |||
Models can be geometric 3D objects, or 3D light points | |||
*Typical objects and names used: | |||
**bg.dae | |||
**ambient_light.dae | |||
**point_light.dae | |||
Models files contains references to the libraries that were used by the 3D app that build the object | |||
*Typical entries found in models (3d objects) | |||
**<asset> | |||
**<library_physics_scenes> | |||
**<library_images> | |||
**<library_materials> | |||
**<library_effects> | |||
**<library_geometries> | |||
**<library_visual_scenes> | |||
**<scene> | |||
*Typical entries found in models (3d lights) | |||
**<asset> | |||
**<library_physics_scenes> | |||
**<library_lights> | |||
**<library_visual_scenes> | |||
**<scene> | |||
==Textures == | |||
See [[Multimedia_Formats_and_Tools|Multimedia Formats and Tools page]] | |||
Before compiling, only .dds and jpeg are supported. | |||
After compiling, '''G'''raphics '''T'''exture '''F'''ormat (GTF) (is a container for storing one or multiple textures, "pack GTF", data in a layout that can be used as is by [[RSX]]). | |||
==Script== | |||
=== .JS === | |||
script.js (an PlayStation JavaScript, known as PSJS, based on ECMA-262) | |||
ECMA-262: several well-known implementations such as JavaScript, JScript and ActionScript. | |||
Some examples of PS3 theme using PSJS: | |||
*http://www.studio-output.com/case_study/the-studio/ | |||
=== .JSX === | |||
The script.js is later on compiled into an intermediate code (.jsx) with a magic header "VSMX". | |||
*http://endlessparadigm.com/forum/showthread.php?tid=21485: VSMX file format | |||
Virtual Script Machine Instructions (VSMX) file layout (naming sould be wikifyed): | |||
<pre> | |||
VSMX header | |||
Compiled code/instructions | |||
Data/String constants | |||
(method) name table/Object property | |||
global symbols/Variable/function names | |||
</pre> | |||
==== Header ==== | |||
{| class="wikitable" | {| class="wikitable" style="text-align: center;" | ||
| | |- | ||
| style="background-color:#56534D58; color:#000FFF;" |'''Offset''' | |||
| style="background-color:#56534D58; color:#000FFF;" |'''Size''' | |||
| style="background-color:#56534D58; color:#000FFF;" |'''Example (h)''' | |||
| style="background-color:#56534D58; color:#000FFF;" |'''Value (conversion)''' | |||
| style="background-color:#56534D58; color:#000FFF;" |'''Notes''' | |||
|- | |||
| 0x00 || 0x04 || 0x56534D58 || "VSMX" || Magic | |||
|- | |||
| 0x04 || 0x04 || 0x00000200 || 0002.0000 || Version? | |||
*v1.0 on PSP RCO RCOs (from video/music UMDs and two lftv RCOs in the PSP's flash0/vsh/ressource/.)? | |||
*V2.0 on PS3 PSJS (.jsx) | |||
|- | |||
| 0x08 || 0x04 || 0x34000000 || 0x34 (52) || header length | |||
|- | |||
| 0x0C || 0x04 || - || || length of compiled code/instructions section | |||
|- | |||
| 0x10 || 0x04 || - || || offset of data section | |||
|- | |||
| 0x14 || 0x04 || - || || length of data | |||
|- | |||
| 0x18 || 0x04 || - || || number of data(seen: 1 or 2) | |||
|- | |||
| 0x1C || 0x04 || - || || offset of name table | |||
|- | |||
| 0x20 || 0x04 || - || || length of name | |||
|- | |||
| 0x24 || 0x04 || - || || number of name | |||
|- | |||
| 0x28 || 0x04 || - || || offset of global symbols | |||
|- | |||
| 0x2C || 0x04 || - || || length of global symbols | |||
|- | |||
| 0x30 || 0x04 || - || || number of global symbols | |||
|- | |- | ||
|} | |} | ||
==== Compiled instructions ==== | |||
*Instructions length: 8 bytes | |||
{| class="wikitable" | |||
| | HEX code format should be wikifyed, may be table moved to (later). | ||
! | |||
{| class="wikitable sortable" | |||
|- | |||
! '''Hex Code (short)''' | |||
! '''Instruction Name''' | |||
! '''Note1''' | |||
! '''Note2''' | |||
|- | |||
| 0x00 || NOP || - || - | |||
|- | |||
| 0x01 || ASSGN || - || - | |||
|- | |||
| 0x02 || ADD || - || - | |||
|- | |||
| 0x03 || SUB || - || - | |||
|- | |||
| 0x04 || MUL || - || - | |||
|- | |||
| 0x05 || DIV || - || - | |||
|- | |||
| 0x06 || MOD || - || - | |||
|- | |||
| 0x07 || TO_NUMBER || - || - | |||
|- | |||
| 0x08 || CSIGN || - || - | |||
|- | |||
| 0x09 || NOT || - || - | |||
|- | |||
| 0x0A || INC || - || - | |||
|- | |||
| 0x0B || DEC || - || - | |||
|- | |||
| 0x0C || POST_INC || - || - | |||
|- | |||
| 0x0D || POST_DEC || - || - | |||
|- | |||
| 0x0E || CMPEQ || - || - | |||
|- | |||
| 0x0F || CMPNEQ || - || - | |||
|- | |||
| 0x10 || CMPSEQ || - || - | |||
|- | |||
| 0x11 || CMPSNEQ || - || - | |||
|- | |||
| 0x12 || CMPLT || - || - | |||
|- | |||
| 0x13 || CMPLE || - || - | |||
|- | |||
| 0x14 || CMPGE || - || - | |||
|- | |||
| 0x15 || CMPGT || - || - | |||
|- | |||
| 0x16 || INSTANCEOF || - || - | |||
|- | |||
| 0x17 || IN || - || - | |||
|- | |||
| 0x18 || TYPEOF || - || - | |||
|- | |||
| 0x19 || BIT_AND || - || - | |||
|- | |||
| 0x1A || BIT_XOR || - || - | |||
|- | |||
| 0x1B || BIT_OR || - || - | |||
|- | |||
| 0x1C || BIT_NOT || - || - | |||
|- | |||
| 0x1D || LSHIFT || - || - | |||
|- | |- | ||
| | | 0x1E || S_RSHIFT || - || - | ||
|- | |- | ||
| | | 0x1F || U_RSHIFT || - || - | ||
|- | |- | ||
| | | 0x20 || COPY || - || - | ||
|- | |||
| | | 0x21 || SWAP || - || - | ||
|- | |||
| 0x22 || REMOVE || - || - | |||
|- | |||
| | | 0x23 || PUSH_UNDEFINED || - || - | ||
|- | |||
| 0x24 || PUSH_NULL || - || - | |||
|- | |||
| 0x25 || PUSH_BOOL || - || - | |||
|- | |||
| 0x26 || PUSH_INT || - || - | |||
|- | |||
| 0x27 || PUSH_INT || - || - | |||
|- | |||
| 0x28 || PUSH_STRING || - || - | |||
|- | |||
| 0x29 || PUSH_OBJECT || - || - | |||
|- | |||
| 0x2A || PUSH_FUNC || - || - | |||
|- | |- | ||
| | | 0x2B || PUSH_ARRAY || - || - | ||
|- | |- | ||
| | | 0x2C || PUSH_THIS || - || - | ||
|- | |- | ||
| | | 0x2D || PUSH_LOCAL || - || - | ||
|- | |- | ||
| | | 0x2E || PUSH_GLOBAL || - || - | ||
|- | |- | ||
| | | 0x2F || GETATTR || - || - | ||
| | |||
| | |||
|- | |- | ||
| | | 0x30 || GETATTR_KEEPOBJ || - || - | ||
|- | |- | ||
| | | 0x31 || SETATTR || - || - | ||
| | |||
| | |||
|- | |- | ||
| | | 0x32 || DELATTR || - || - | ||
|- | |- | ||
| | | 0x33 || APPEND_ATTR || - || - | ||
| | |||
| | |||
|- | |- | ||
| | | 0x34 || GETITEM || - || - | ||
|- | |- | ||
| | | 0x35 || GETITEM_KEEPOBJ || - || - | ||
|- | |- | ||
| | | 0x36 || SETITEM || - || - | ||
|- | |- | ||
| | | 0x37 || DELITEM || - || - | ||
|- | |- | ||
| | | 0x38 || APPEND_ITEM || - || - | ||
|- | |- | ||
| | | 0x39 || JUMP || - || - | ||
|- | |- | ||
| | | 0x3A || JUMPT || - || - | ||
|- | |- | ||
| | | 0x3B || JUMPF || - || - | ||
|- | |- | ||
| | | 0x3C || CALL_FUNC || - || - | ||
|- | |- | ||
| | | 0x3D || CALL_METHOD || - || - | ||
|- | |- | ||
| | | 0x3E || CALL_CONSTRUCTOR || - || - | ||
|- | |- | ||
| | | 0x3F || RET || - || - | ||
|- | |||
| | |||
|- | |- | ||
| | | 0x40 || THROW || - || - | ||
|- | |||
| | |||
|- | |- | ||
| | | 0x41 || TRYBLK_IN || - || - | ||
|- | |- | ||
| | | 0x42 || TRYBLK_OUT || - || - | ||
|- | |- | ||
| | | 0x43 || CATCH_FINALLYBLK_IN || - || - | ||
|- | |- | ||
| | | 0x44 || CATCH_FINALLYBLK_OUT || - || - | ||
|- | |- | ||
| | | 0x45 || HALT || - || - | ||
|- | |- | ||
| | | 0x46 || DEBUG_FILE || - || - | ||
|- | |- | ||
| | | 0x47 || DEBUG_LINE || - || - | ||
|- | |- | ||
| | | 0x48 || GETITEM_KEEPOBJNAME || - || - | ||
| | |||
| | |||
|- | |- | ||
| | | 0x49 || PUSH_VECTOR || - || - | ||
|- | |||
| | |||
|- | |- | ||
| | | 0x4A || GET_VECTOR_ELEMENT || - || - | ||
|- | |- | ||
| | | 0x4B || GET_VECTOR_ELEMENT_KEEPVECTOR || - || - | ||
|- | |- | ||
| | | 0x4C || ASSGN_VECTOR_ELEMENT || - || - | ||
|- | |- | ||
| | | 0x4D || SETATTR_VECTOR_ELEMENT || - || - | ||
|- | |- | ||
| | | 0x4E || SETITEM_VECTOR_ELEMENT || - || - | ||
| | |||
|- | |- | ||
|} | |} | ||
=Links= | =Links= | ||
*RAF pages in other wiki/s | *RAF pages in other wiki/s | ||
** | **http://dudu.clx.free.fr/wiki/index.php?title=PS3RAF | ||
**http://ps3.duduclx.fr/index.php?title=Th%C3%A8mes_dynamiques_PS3 | **http://ps3.duduclx.fr/index.php?title=Th%C3%A8mes_dynamiques_PS3 | ||
** | **http://dudu.clx.free.fr/wiki/index.php?title=PS3Them | ||
*Interesting info about Animations/3D support in themes | *Interesting info about Animations/3D support in themes http://www.ps3hax.net/showthread.php?t=28426 | ||
*See also: [[Qt Resource Container (QRC)]] | *See also: [[Qt Resource Container (QRC)]] | ||