Game ext plugin: Difference between revisions
Jump to navigation
Jump to search
m (→1 Interface) |
m (Native Events) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
5: 4 Parameter: char *, int, char *, int- calls interface 2 | 5: 4 Parameter: char *, int, char *, int- calls interface 2 | ||
6: 1 Parameter: uint8 [0x5B0] | 6: 1 Parameter: uint8 [0x5B0] | ||
7: 3 Parameter: | 7: 3 Parameter: uint8*,int,uint8* - ps2bootparam.dat / factory_process_comp_1x | ||
8: 0 Parameter: returns uint8 | 8: 0 Parameter: returns uint8 | ||
9: 4 Parameter: ignored, char* message, uint8[0x270],{0: Type,+4: 0x10: char * unk - Install "/dev_bdvd/PS3_GAME/PKGDIR/PKG../INSTALL.PKG" ? | 9: 4 Parameter: ignored, char* message, uint8[0x270],{0: Type,+4: 0x10: char * unk - Install "/dev_bdvd/PS3_GAME/PKGDIR/PKG../INSTALL.PKG" ? | ||
Line 87: | Line 87: | ||
Parameter 2: | Parameter 2: | ||
016E0A98 08 00 00 00 01 00 00 22 00 00 00 0B 00 00 00 14 ................ | 016E0A98 08 00 00 00 01 00 00 22 00 00 00 0B 00 00 00 14 ................ | ||
====Function 34==== | |||
<source lang="cpp"> | |||
char * pkg_path; | |||
void installPKG_thread() | |||
{ | |||
if(game_ext_interface == 0) // test if game_ext_plugin is loaded for interface access | |||
game_ext_interface = (game_ext_plugin_interface *)plugin_GetInterface(View_Find("game_ext_plugin"),1); | |||
game_ext_interface->DoUnk0(); // Load Page | |||
game_ext_interface->DoUnk34(pkg_path); // Execute and install PKG from path | |||
} | |||
void installPKG(char * path) | |||
{ | |||
pkg_path = path; | |||
if(xmm0_interface == 0) // getting xmb_plugin xmm0 interface for loading plugin sprx | |||
xmm0_interface = (xmb_plugin_xmm0 *)plugin_GetInterface(View_Find("xmb_plugin"),'XMM0'); | |||
xmm0_interface->LoadPlugin3(0x16,installPKG_thread,0); // Thread safe load of game_ext_plugin.sprx (0x16) | |||
} | |||
... | |||
installPKG("/dev_usb006/test.pkg"); // Example | |||
</source> | |||
For more information about classes etc. see [[Talk:Game_ext_plugin|Talk page]] | |||
= Native Events = | |||
GameApp_OnInitGameMain | |||
GameApp_OnActivateGameMain | |||
GameApp_OnCancelGameMain | |||
GameApp_OnInitYconCautionBg | |||
GameApp_OnInitYconCaution1 | |||
GameApp_OnActivateYconCaution1 | |||
GameApp_OnInitYconCaution2 | |||
GameApp_OnActivateYconCaution2 | |||
GameApp_OnInitYconCautionText | |||
GameApp_OnInitYconPlaneWaku | |||
GameApp_OnInit3DCaution | |||
GameApp_OnActivate3DCaution | |||
GameApp_OnInit3DCautionText | |||
=Other info= | =Other info= |
Latest revision as of 01:13, 3 December 2015
1 Identifier:
- 1
1 Interface[edit | edit source]
contains 35 subs:
0: 0 Parameter: (creates page_game_main widget) 1: 2 Parameter: uint8_t [0x270], uint8_t[0x10?] 2: 3 Parameter: char * titleid[0x10], 1, 0 - (displays a message?) - link.xml related? 3: 2 Parameter: char * (max.0x80bytes), 1 - (displays a message?) - link.xml related? 4: 4 Parameter: char *, char *, int, int - calls interface 2 5: 4 Parameter: char *, int, char *, int- calls interface 2 6: 1 Parameter: uint8 [0x5B0] 7: 3 Parameter: uint8*,int,uint8* - ps2bootparam.dat / factory_process_comp_1x 8: 0 Parameter: returns uint8 9: 4 Parameter: ignored, char* message, uint8[0x270],{0: Type,+4: 0x10: char * unk - Install "/dev_bdvd/PS3_GAME/PKGDIR/PKG../INSTALL.PKG" ? 10: 3 Parameter: 11: 4 Parameter: int value (=0 -> npsignin), ignored, uint8 [0x1B4]{message, pkg_path,..},uint8 [0x25] 12: 1 Parameter: uint8 [0x220] - auth_plugin if 5 (0x102,handler,0,0) / msg_only_for_psp_need_copy_ask 13: 2 Parameter: char * path, char * message - Theme Install/Copy ? (type: bdc, category: TI, CD_%u.p3t) 14: 1 Parameter: char * path? - page_update_history 15: 0 Parameter: disables 2 second sleep on ps2bootparam.dat 16: 1 Parameter: strncpy char * [0x20] (TitleId/ContentId?) 17: 1 Parameter: char * [4] (set Category, example: "AT") 18: 0 Parameter: returns uint8 19: 1 Parameter: uint8 * output 20: 3 Parameter: char * [0x80], wchar?, char* paramsfo?_dir[0x30] 21: 3 Parameter: char * titleid?[0x20], int value (2 = /dev_hdd0/game), char*[0x30] 22: 3 Parameter: char * [0x80], int?, char * [0x30]- update database+reload category game? 23: 3 Parameter: int?, char * [0x38], int? 24: 2 Parameter: int?, int? 25: 1 Parameter: uint8 [0xA4] 26: 1 Parameter: uint8 [0xA4] 27: 1 Parameter: uint8 [0x2470] 28: 2 Parameter: int* out, char * titleid[0x10] 29: 2 Parameter: void* callback, char*? - 0x2BC0 bytes, autodownload_plugin 30: 0 Parameter: set autodownload skip 31: 0 Parameter: returns uint8 32: 4 Parameter: uint8 [0x270], char * [0x800], uint64 [2], uint8 33: 1 Parameter: char * titleid? [0x10] - msg auto update? - psn+/login checked. 34: 1 Parameter: char * pkg_path[0x400] (example: /dev_usb006/test.pkg)
Function 1[edit | edit source]
Example with PS2 World Snooker Championship 2005
Parameter 1: 21DB6718 00 00 00 02 00 00 00 02 53 4C 45 53 35 33 30 38 ........SLES5308 21DB6728 32 00 00 00 00 00 00 00 57 6F 72 6C 64 20 53 6E 2.......World Sn 21DB6738 6F 6F 6B 65 72 20 43 68 61 6D 70 69 6F 6E 73 68 ooker Championsh 21DB6748 69 70 20 32 30 30 35 00 00 00 00 00 00 00 00 00 ip 2005......... 21DB6758 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6768 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6778 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6788 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6798 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB67A8 00 00 00 00 00 00 00 00 57 6F 72 6C 64 20 53 6E ........World Sn 21DB67B8 6F 6F 6B 65 72 20 43 68 61 6D 70 69 6F 6E 73 68 ooker Championsh 21DB67C8 69 70 20 32 30 30 35 00 00 00 00 00 00 00 00 00 ip 2005......... 21DB67D8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB67E8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB67F8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6808 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6818 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6828 00 00 00 00 00 00 00 00 00 00 00 00 30 30 2E 30 ............00.0 21DB6838 30 30 30 00 30 33 2E 37 30 30 30 00 00 00 00 00 000.03.7000..... 21DB6848 00 00 00 00 32 50 00 00 00 00 00 00 2F 64 65 76 ....2P....../dev 21DB6858 5F 68 64 64 30 2F 67 61 6D 65 2F 4E 50 45 44 30 _hdd0/game/NPED0 21DB6868 30 31 35 33 00 00 00 00 00 00 00 00 00 00 00 00 0153............ 21DB6878 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6888 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6898 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB68A8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB68B8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB68C8 00 00 00 00 00 00 00 00 00 00 00 00 4E 50 45 44 ............NPED 21DB68D8 30 30 31 35 33 00 00 00 00 00 00 00 00 00 00 00 00153........... 21DB68E8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB68F8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6908 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6918 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 ...............- 21DB6928 08 00 00 00 01 00 00 22 00 00 00 00 00 00 00 00 ......."........ 21DB6938 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6948 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6958 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6968 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 21DB6978 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Parameter 2: 016E0A98 08 00 00 00 01 00 00 22 00 00 00 0B 00 00 00 14 ................
Function 34[edit | edit source]
char * pkg_path;
void installPKG_thread()
{
if(game_ext_interface == 0) // test if game_ext_plugin is loaded for interface access
game_ext_interface = (game_ext_plugin_interface *)plugin_GetInterface(View_Find("game_ext_plugin"),1);
game_ext_interface->DoUnk0(); // Load Page
game_ext_interface->DoUnk34(pkg_path); // Execute and install PKG from path
}
void installPKG(char * path)
{
pkg_path = path;
if(xmm0_interface == 0) // getting xmb_plugin xmm0 interface for loading plugin sprx
xmm0_interface = (xmb_plugin_xmm0 *)plugin_GetInterface(View_Find("xmb_plugin"),'XMM0');
xmm0_interface->LoadPlugin3(0x16,installPKG_thread,0); // Thread safe load of game_ext_plugin.sprx (0x16)
}
...
installPKG("/dev_usb006/test.pkg"); // Example
For more information about classes etc. see Talk page
Native Events[edit | edit source]
GameApp_OnInitGameMain GameApp_OnActivateGameMain GameApp_OnCancelGameMain GameApp_OnInitYconCautionBg GameApp_OnInitYconCaution1 GameApp_OnActivateYconCaution1 GameApp_OnInitYconCaution2 GameApp_OnActivateYconCaution2 GameApp_OnInitYconCautionText GameApp_OnInitYconPlaneWaku GameApp_OnInit3DCaution GameApp_OnActivate3DCaution GameApp_OnInit3DCautionText