Editing Xmb plugin

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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 25: Line 25:
  12: 3 Parameter: int (Plugin Enum Id) , int value (Plugin Enum ID), int value to store - SendFinalizeEndNotify?
  12: 3 Parameter: int (Plugin Enum Id) , int value (Plugin Enum ID), int value to store - SendFinalizeEndNotify?
  13: 1 Parameter: uint* [0xED8] - receives
  13: 1 Parameter: uint* [0xED8] - receives
  14: 1 Parameter: uint* [0xED8] - sets
  14: 1 Parameter: struct *ptr
  15: 1 Parameter: struct *ptr
  15: 1 Parameter: struct *ptr
  16: GetModuleLoadOpinion, 1 Parameter: int value (Plugin Enum ID)
  16: GetModuleLoadOpinion, 1 Parameter: int value (Plugin Enum ID)
Line 31: Line 31:
  18: 2 Parameter: void * handler, int
  18: 2 Parameter: void * handler, int
  19: 2 Parameter: void * handler, int
  19: 2 Parameter: void * handler, int
  20: 2 Parameter: out: int *, out: int *
  20: 2 Parameter: out:int, out:int  
  21: 2 Parameter: int value (Plugin Enum ID), int value (0 = _vshnet_965A7E9D( ) ,else= _vshnet_52122E7D(("PS3 %s"), ))  
  21: 2 Parameter: int value (Plugin Enum ID), int value (0 = _vshnet_965A7E9D( ) ,else= _vshnet_52122E7D(("PS3 %s"), ))  
  22: 1 Parameter: int value (Plugin Enum ID) - executes given Plugin ID MOD0-Inferface Function 4)
  22: 1 Parameter: int value (Plugin Enum ID)
  23: 2 Parameter: char* action, int value - Executes Action
  23: 2 Parameter: char* action, int value - Executes Action
  24: 2 Parameter: char* action, int value - Gets Plugin ID Enum based by Action string
  24: 2 Parameter: char* action, int value - Gets Plugin ID Enum based by Action string
  25: 0 Parameter:
  25: 0 Parameter:
== LoadModuleOpinion ==
& 1 = MOD0 Interface available
== Function 19 ==
Example:
void * { ModuleLoading, ModuleLoaded, ModuleUnloading, ModuleUnloaded}, 0
== Function 20 ==
1st Parameter: +1/-1 (vsh helper uri enabled?)
2nd Parameter: +1/-1


== Function 23 ==
== Function 23 ==
Line 90: Line 76:
psns:
psns:
  psns:browse?target=plus&boot=102
  psns:browse?target=plus&boot=102
== xmb plugin id list ==
{| class="wikitable sortable"
! Plugin name !! Enum ID !! ModuleLoadOpinion !! MOD0 Interface
|-
|[[system_plugin]]    || 0x00 || 0x82 || {{No}}
|-
|[[xmb_plugin]]        || 0x01 || 0x83 || {{Yes}}
|-
|[[explore_plugin]]    || 0x02 || 0x485 || {{Yes}}
|-
|[[game_plugin]]        || 0x14 || 0x51 || {{Yes}}
|-
|[[np_trophy_ingame]]  || 0x25 || 0x808 || {{No}}
|-
|[[gamedata_plugin]]    || 0x15 || 0x11 || {{Yes}}
|-
|[[game_ext_plugin]]    || 0x16 || 0x51 || {{Yes}}
|-
|[[premo_plugin]]      || 0x1A || 0xC0 || {{No}}
|-
|[[micon_lock_plugin]]  || 0x2B || 0x0 || {{No}}
|-
|[[category_setting_plugin]]  || 0x03 || 0x484 || {{No}}
|-
|[[sysconf_plugin]]    || 0x05 || 0x40 || {{No}}
|-
|[[netconf_plugin]]    || 0x06 || 0x8 || {{No}}
|-
|[[software_update_plugin]]  || 0x07 || 0x41 || {{Yes}}
|-
|[[bdp_plugin]]        || 0x11 || 0x51 || {{Yes}}
|-
|[[bdp_disccheck_plugin]]  || 0x12 || 0x81 || {{Yes}}
|-
|[[bdp_storage_plugin]]  || 0x13 || 0x81 || {{Yes}}
|-
|[[user_plugin]]        || 0x04 || 0x148 || {{No}}
|-
|[[friendim_plugin]]    || 0x1E || 0x1 || {{Yes}}
|-
|[[friendml_plugin]]    || 0x1F || 0x41 || {{Yes}}
|-
|[[friendtrophy_plugin]]  || 0x26 || 0x41 || {{Yes}}
|-
|[[profile_plugin]]    || 0x27 || 0x41 || {{Yes}}
|-
|[[photoviewer_plugin]]  || 0x0B || 0x271 || {{Yes}}
|-
|[[videoplayer_plugin]]  || 0x10 || 0x271 || {{Yes}}
|-
|[[webbrowser_plugin]]  || 0x1B || 0x8071 || {{Yes}}
|-
|[[webrender_plugin]]  || 0x1C || 0x8071 || {{Yes}}
|-
|[[xai_plugin]]        || 0x1D || 0x81 || {{Yes}}
|-
|[[audioplayer_plugin]]  || 0x0D || 0x31 || {{Yes}}
|-
|[[videodownloader_plugin]]  || 0x28 || 0x8 || {{No}}
|-
|[[nas_plugin]]        || 0x22 || 0x48 || {{No}}
|-
|[[download_plugin]]    || 0x29 || 0x8 || {{No}}
|-
|[[ps3_savedata_plugin]]  || 0x17 || 0x808 || {{No}}
|-
|[[vmc_savedata_plugin]]  || 0x18 || 0x8 || {{No}}
|-
|[[thumthum_plugin]]    || 0x2A || 0x48 || {{No}}
|-
|[[npsignin_plugin]]    || 0x23 || 0x1 || {{Yes}}
|-
|[[avc_plugin]]        || 0x20 || 0x8071 || {{Yes}}
|-
|[[avc2_text_plugin]]  || 0x21 || 0x1 || {{Yes}}
|-
|[[sacd_plugin]]        || 0x0E || 0x69 || {{Yes}}
|-
|[[eula_cddb_plugin]]  || 0x0F || 0x48 || {{No}}
|-
|[[strviewer_plugin]]  || 0x2D || 0x58 || {{No}}
|-
|[[edy_plugin]]        || 0x08 || 0x48 || {{No}}
|-
|[[print_plugin]]      || 0x09 || 0x40 || {{No}}
|-
|[[newstore_plugin]]    || 0x31 || 0x48 || {{No}}
|-
|[[deviceconf_plugin]]  || 0x0A || 0x40 || {{No}}
|-
|[[dlna_plugin]]        || 0x2C || 0x48 || {{No}}
|-
|[[playlist_plugin]]    || 0x2F || 0x8 || {{No}}
|-
|[[np_trophy_plugin]]  || 0x24 || 0x808 || {{No}}
|-
|[[kensaku_plugin]]    || 0x34 || 0x80 || {{No}}
|-
|[[regcam_plugin]]      || 0x35 || 0x48 || {{No}}
|-
|[[idle_plugin]]        || 0x36 || 0x481 || {{Yes}}
|-
|[[filecopy_plugin]]    || 0x37 || 0x48 || {{No}}
|-
|[[wboard_plugin]]      || 0x38 || 0x881 || {{Yes}}
|-
|[[hknw_plugin]]        || 0x32 || 0x8071 || {{Yes}}
|-
|[[poweroff_plugin]]    || 0x39 || 0x141 || {{Yes}}
|-
|[[eula_hcopy_plugin]]  || 0x3C || 0x141 || {{Yes}}
|-
|[[videoeditor_plugin]]  || 0x3A || 0x271 || {{Yes}}
|-
|[[scenefolder_plugin]]  || 0x3B || 0x8 || {{No}}
|-
|[[mtpinitiator_plugin]]  || 0x3E || 0x40 || {{No}}
|-
|[[campaign_plugin]]  || 0x3F || 0x11 || {{Yes}}
|-
|[[remotedownload_plugin]]  || 0x40 || 0x140 || {{No}}
|}


=MOD0 Interface=
=MOD0 Interface=
Line 219: Line 81:
contains 5 subs:
contains 5 subs:


  0: 0 Parameter: - (ModuleActivate?)
  0: 0 Input:
  1: 0 Parameter: - somewhat CAT0 related (ModuleDeactivate?)
  1: 0 Input: - somewhat CAT0 related
  2: empty -  (ModuleLoadFailed?)
  2: empty
  3: 0 Parameter: return 0 -  (ModuleGetLoadOpinion?)
  3: return 0
  4: empty
  4: empty


Line 233: Line 95:
  2: 1 Parameter: int value, float value
  2: 1 Parameter: int value, float value
  3: 0 Parameter:  
  3: 0 Parameter:  
  4: 0 Parameter: returns int (like 7) 0x1C0)
  4: 0 Parameter: returns int
  5: 1 Parameter: float value
  5: 1 Parameter: float value
  6: 0 Parameter: returns float
  6: 0 Parameter: returns float
Line 239: Line 101:
  8: 0 Parameter:  
  8: 0 Parameter:  
  9: 3 Parameter: int *, int* , wchar * infotext1
  9: 3 Parameter: int *, int* , wchar * infotext1
  10: 0 Parameter: - close page infobar?
  10: 0 Parameter:  
  11: 1 Parameter: int
  11: 1 Parameter: int
  12: 1 Parameter: int id
  12: 1 Parameter: int id
Line 253: Line 115:
  22: 1 Parameter: wchar * - page_xmb_indicator - Shows XMB-Notifications at the bottom like "(Triangle): Options"  
  22: 1 Parameter: wchar * - page_xmb_indicator - Shows XMB-Notifications at the bottom like "(Triangle): Options"  
  23: 0 Parameter: returns ptr* ( ptr[0x908] = -1 -> ClearWBoardFocus)
  23: 0 Parameter: returns ptr* ( ptr[0x908] = -1 -> ClearWBoardFocus)
  24: 0 Parameter: - _vshcommon_34A05733 ("xmb_plugin2", 0x15480) - returns some list
  24: 0 Parameter: - _vshcommon_34A05733 ("xmb_plugin2", 0x15480)
  25: 0 Parameter: returns sys_lwmutex_t * "_pf_lwm"
  25: 0 Parameter: returns sys_lwmutex_t * "_pf_lwm"
  26: 1 Parameter: int value (0=decrease(+page_xmb_fg) + xmb2_interface_7(0,0x1C0/0x40,0x1C0),else=increase (page_xmb_fg))
  26: 1 Parameter: int value (0=decrease(+page_xmb_fg) + xmb2_interface_7(0,0x1C0/0x40,0x1C0),else=increase (page_xmb_fg))
Line 363: Line 225:
| 0x800 || 0x0C00 || makes XMB x-bar invisible
| 0x800 || 0x0C00 || makes XMB x-bar invisible
|}
|}
== Function 21 ==


00000000 00 00 00 01 00 00 00 06 00 00 00 00 67 61 6D 65 ............game
= xmb plugin id list =
00000010 44 69 72 32 00 00 00 00 00 00 00 00 00 00 00 08 Dir2............
00000020 00 00 00 0F FF FF FF FF FF FF FF FF 00 00 00 00 ................
00000030 08 00 00 00 01 00 00 13                        ........


== Function 22 ==
{| class="wikitable sortable"
 
! Plugin name !! Enum ID
  L"\uF880" = {{padcircle}}-Button
|-
  L"\uF881" = {{padcross}}-Button
|[[system_plugin]]    || 0x00
  L"\uF882" = {{padsquare}}-Button
|-
  L"\uF883" = {{padtriangle}}-Button
|[[xmb_plugin]]        || 0x01
  L"\uF884" = {{dpadu}}-Button
|-
  L"\uF885" = {{dpadd}}-Button
|[[explore_plugin]]    || 0x02
  L"\uF886" = {{dpadl}}-Button
|-
L"\uF887"  = {{dpadr}}-Button
|[[game_plugin]]        || 0x14
L"\uF888"  = {{padl1}}-Button
|-
L"\uF889"  = {{padl2}}-Button
|[[np_trophy_ingame]]  || 0x25
L"\uF88A"  = {{padl3}}-Button
|-
L"\uF88B"  = {{padr1}}-Button
|[[gamedata_plugin]]    || 0x15
L"\uF88C"  = {{padr2}}-Button
|-
  L"\uF88D"  = {{padr3}}-Button
|[[game_ext_plugin]]    || 0x16
  L"\uF88E"  = {{padselect}}-Button
|-
  L"\uF88F"  = {{padstart}}-Button
|[[premo_plugin]]      || 0x1A
  L"\uF892"  = {{padps}}-Button
|-
  L"\uF893"  = {{padl2}}{{dpadl}}-Combo
|[[micon_lock_plugin]] || 0x2B
  L"\uF894"  = {{padr2}}{{dpadr}}-Combo
|-
|[[category_setting_plugin]] || 0x03
|-
|[[sysconf_plugin]]    || 0x05
|-
|[[netconf_plugin]]    || 0x06
|-
|[[software_update_plugin]] || 0x07
|-
|[[bdp_plugin]]        || 0x11
|-
|[[bdp_disccheck_plugin]] || 0x12
|-
|[[bdp_storage_plugin]] || 0x13
|-
|[[user_plugin]]        || 0x04
|-
|[[friendim_plugin]]    || 0x1E
|-
|[[friendml_plugin]]    || 0x1F
|-
|[[friendtrophy_plugin]] || 0x26
|-
|[[profile_plugin]]    || 0x27
|-
|[[photoviewer_plugin]] || 0x0B
|-
|[[videoplayer_plugin]] || 0x10
|-
|[[webbrowser_plugin]] || 0x1B
|-
|[[webrender_plugin]]  || 0x1C
|-
|[[xai_plugin]]        || 0x1D
|-
|[[audioplayer_plugin]] || 0x0D
|-
|[[videodownloader_plugin]] || 0x28
|-
|[[nas_plugin]]        || 0x22
|-
|[[download_plugin]]    || 0x29
|-
|[[ps3_savedata_plugin]] || 0x17
|-
|[[vmc_savedata_plugin]] || 0x18
|-
|[[thumthum_plugin]]    || 0x2A
|-
|[[npsignin_plugin]]    || 0x23
|-
|[[avc_plugin]]        || 0x20
|-
|[[avc2_text_plugin]]  || 0x21
|-
|[[sacd_plugin]]        || 0x0E
|-
|[[eula_cddb_plugin]]  || 0x0F
|-
|[[strviewer_plugin]]  || 0x2D
|-
|[[edy_plugin]]        || 0x08
|-
|[[print_plugin]]      || 0x09
|-
|[[newstore_plugin]]    || 0x31
|-
|[[deviceconf_plugin]] || 0x0A
|-
|[[dlna_plugin]]        || 0x2C
|-
|[[playlist_plugin]]    || 0x2F
|-
|[[np_trophy_plugin]]  || 0x24
|-
|[[kensaku_plugin]]    || 0x34
|-
|[[regcam_plugin]]      || 0x35
|-
|[[idle_plugin]]        || 0x36
|-
|[[filecopy_plugin]]    || 0x37
|-
|[[wboard_plugin]]      || 0x38
|-
|[[hknw_plugin]]        || 0x32
|-
|[[poweroff_plugin]]    || 0x39
|-
|[[eula_hcopy_plugin]] || 0x3C
|-
|[[videoeditor_plugin]] || 0x3A
|-
|[[scenefolder_plugin]] || 0x3B
|-
|[[mtpinitiator_plugin]] || 0x3E
|-
|[[campaign_plugin]] || 0x3F
|-
|[[remotedownload_plugin]] || 0x40
|}


= XMB Indexed Modules =
= XMB Indexed Modules =
{{XMB_Indexed_Modules}}
{{XMB_Indexed_Modules}}


=xmb_plugin_normal.rco ([[RCOXML Coding|RCOXML]] contents)=
=xmb_plugin_normal.rco ([[RCOXML Structure|RCOXML]] contents)=
*Notes:
*Notes:
**The main tree uses the name '''xmb_plugin'''... same name than [[xmb_ingame]], and his contents are 99,9% similar
**The main tree uses the name '''xmb_plugin'''... same name than [[xmb_ingame]], and his contents are 99,9% similar
Line 401: Line 359:
**'''page_xmb_bg''' (maybe related with the wave + sparks animation) and '''page_xmb_fg''' are background and foreground, his purpose is a bit confusing
**'''page_xmb_bg''' (maybe related with the wave + sparks animation) and '''page_xmb_fg''' are background and foreground, his purpose is a bit confusing


{{Boxcode|height=500px|title=xmb_plugin_normal.rcoxml|code=<syntaxhighlight lang="xml">
{{Boxcode|content=<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.1 -->
<!-- This XML representation of an RCO structure was generated by Rcomage v1.1.1 -->
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)