Game plugin

From PS3 Developer wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

1 Identifier:

  • 1

1 Interface

contains 105 subs:

0: PluginWakeup, 0 Parameter: - set Widget "page_game_main" and activate
1: 1 Parameter: uint8_t [0x5B8]
2: 1 Parameter: uint8_t [0x230]
3: 1 Parameter: int
4: 2 Parameter: int (used for func 3), uint8_t msg?dialog_struct[0x1A0]
5: 0 Parameter:
6: 0 Parameter:
7: ReturnGame, 0 Parameter: - set Widget "page_game_main", pageactivate and InputDevice_IsOwner /InputDevice_ReleaseOwnership.
8: getCurrentGameTitle(_gameTileInfo *), 1 Parameter: out:uint8_t [0x114] - (+4 = TitleID, +0x14 = Title, +0x94 = Title)
9: 1 Parameter: out:char* [0x80]- returns Title
10: 1 Parameter: out:uint8_t [8]
11: 2 Parameter: uint64_t data, int (0=12,other=0x13) - EventPortSend 0x100, 0x12/0x13,data
12: 0 Parameter:
13: 0 Parameter:
14: 0 Parameter: - pad vibration related
15: GetExecAppType, 2 Parameter: int * apptype, int * extendedtype?
16: 1 Parameter: int *
17: 0 Parameter:
18: 2 Parameter: int *, char * [0x20]
19: 3 Parameter: int *, char * [0x20], char * [0x20]
20: 1 Parameter: out: uint8_t [0x5B8]
21: 0 Parameter:
22: commerce2ExecuteStoreBrowse, 4 Parameter: int targetType, char * targetId, uint8 flags, int userdata - 
23: 1 Parameter: in: uint8_t [0xA4]
24: 1 Parameter: in: uint8_t [0xA4]
25: wakeupWithGameExit, 2 Parameter: char * url, int usrdata
26: commerce2Reboot4PrgDl, 1 Parameter: int taskId
27: 1 Parameter: in: char * url[0x800] - "psvp:vdss?url=%s&id=0x%016llx&spd=%lld&cid=%s&fid=%s"
28: RebootSignup?, 0 Parameter:
29: 1 Parameter: uint8_t [0xA4]
30: commerce2GetOptions, 1 Parameter: int * userdata
31: GetUsrdataOnGameExit, 1 Parameter: int * game_plugin_view
32: Get MANUAL DirName, 1 Parameter: char [0x80] 
33: 0 Parameter: - is music gameBgmPlayback allowed check
34: 1 Parameter: char * [0x20]
35: 1 Parameter: char * DirName[0x20] - tmp game lock
36: 2 Parameter: int * , char *
37: 0 Parameter: 
38: 1 Parameter: uint64_t data - event port send data1=0x100, data2=0x14, data3=input
39: 1 Parameter: char * titleid [0x20] 
40: 3 Parameter: char * titleid [0x20], int* , MemoryContainer cid
41: 3 Parameter: char * titleid [0x20], char * [4], MemoryContainer cid
42: 4 Parameter: char * titleid, int flags , char * , int
43: 0 Parameter: 0
44: 0 Parameter: 43) with 1
45: initGameData, 2 Parameter: int MemContainer(-1), int NoCalcFlag - returns Memory Container
46: EndGameData, 0 Parameter: 
47: getGameDataStat, 3 Parameter: char * DirName, char * CategoryType, uint8_t[0x1450]
48: updateGameData, 4 Parameter: char * DirName, uint32_t CategoryType, void * callback, uint8_t[0x1450] (SysParam)
49: showDialog, 5 Parameter: int errcode, int, int, void * callback, char * tex?
50: showDialog, 3 Parameter: char * ErrorMsg, void * callback, char * tex?
51: 0 Parameter: FindWidget("page_game_main") - returns Widget View
52: cacheInit, 2 Parameter: void * callback, uint8_t SysCacheParam[0x444] {char cacheId[0x20], char getCachePath[0x41F], void * reserved} - SysCacheMount
53: cacheClear, 0 Parameter: returns GameDataStat - SysCacheClear
54: bootInfo, 1 Parameter: uint8_t bootinfo[0x20] // also gets TitleId - GameGetBootDiscInfo
55: GetTitleId,1 Parameter: uint8_t * titleId [0x20]
56: kbGetSize, 2 Parameter: int * data (=0) , int value (0,1=EventPortSend 0x10E)
57: SetSysVersion, 1 Parameter: char * SysVersion[7] (String Version for attribute "PS3_SYSTEM_VER") - GameDataSetSystemVer
58: GetDiscInfo, 1 Parameter: uint8_t [0x20] (titleid? (0xA) from /dev_ps2disc/SYSTEM.CNF or /dev_bdvd/PS3_GAME/(L0x/)PARAM.SFO)
59: endDialog, 4 Parameter: int dialog_msg_type (0=corrupted gamedata,1=corrupted installgame,2=update completed,3=hdd full stop game) int size, void * callback, 0
60: SetEjectMode, 1 Parameter: int mode (0=DiscGameUnregisterDiscChangeCallback,1=DiscGameRegisterDiscChangeCallback)
61: gameExec, 7 Parameter: char * DirName (Type=1,else ""), char * DirName (Type!=1,else ""),int Type,int Options,sys_memory_container_t MemoryContainer, ExecData, UserData
62: getList, 7 Parameter: int * ListBufNum, sys_addr_t * memory_allocate_from_container, int * ListNum, int * GetListNum, MemoryContainer, 
63: GetBootInfo, 3 Parameter: int * Type, char * DirName[0x20], int * ExecData
64: SetParam, 1 Parameter: int * ExecData - SetExitParam
65: GetExitInfo, 5 Parameter: int * status, int * Type, char * DirName, uint8_t * ExecData, uint8_t * UserData
66: HomePath, 1 Parameter: char * HddGamePath (Playstation@Home "/dev_hdd0/game/NPEA00013/USRDIR")
67: DeleteGame, 2 Parameter: char * DirName, sys_memory_container_t MemoryContainerId
68: OptionPath, 2 Parameter: char * CommonPath, char * PersonalPath - GetHomeLaunchOptionPath
69: ExportPath, 1 Parameter: char * ImportPath[0x80] (GetHomeDataExportPath)
70: ImportPath, 1 Parameter: char * ExportPath[0x80] (GetHomeDataImportPath)
71: Open, 4 Parameter: int Type, char * DirName, MemoryContainer cid(-1), int * SizeInfo[3] { hddFreeSizeKB, sizeKB, sysSizeKB } - GameDataCheck
72: BootCheck, 5 Parameter: int * Type, int * Attribute, MemoryContainer cid (-1), int * SizeInfo[3] { hddFreeSizeKB, sizeKB, sysSizeKB}, char * DirName - GameBootCheck
73: PatchCheck, 2 Parameter: int (-1), int * SizeInfo[3] {0, 0, 0} - GamePatchCheck
74: Create, 4 Parameter: uint8_t setData[0xD4] (GameSetInitParams), char * ContentInfoPath, char * GameDataPath, int Mode - GameCreateGameData
75: getInt, 3 Parameter: int DataId, int * DataInt, int Mode - GameGetParamInt (from PARAM.SFO)
76: getStr, 4 Parameter: int DataId, char * DataStr, int max_len(0x80), int Mode - GameGetParamString (from PARAM.SFO)
77: setInt, 3 Parameter: int DataId, int DataInt, int Mode - GameSetParamInt (to PARAM.SFO)
78: setStr, 3 Parameter: int DataId, char * DataStr, int Mode - GameSetParamString (to PARAM.SFO)
79: Close, 2 Parameter: char * ContentInfoPath, char * GameDataPath - GameContentPermit
80: dialog, 3 Parameter: int Type, int NeedSize, char * DirName - GameContentErrorDialog
81: getSizeKB, 1 Parameter: int * DataInt - current size of game content (KB)
82: tInstall, 4 Parameter: char * UsrDirPath, char * FileName, int Options, int (0) - GameThemeInstall
83: mtInstall (Create tmp file), 1 Parameter: int FileSize - ("/dev_hdd0/tmp/game/theme.tmp") - GameThemeInstallFromBuffer
84: mtWrite, 2 Parameter: int p3t_theme_size, void * buf
85: mtClose, 2 Parameter: int Status (=0 continue install, else=close), int Options 
86: getUpPath, 1 Parameter: char * Path ("/dev_hdd0/game" + "/C01") - GameGetDiscContentInfoUpdatePath
87: getWConPath, 1 Parameter: char * Path (HTMLDIR - creates HTMLDIR) - GameGetLocalWebContentPath
88: delGameData, 1 Parameter: char * DirName [0x20] - GameDeleteGameData
89: getDevIdList, 2 Parameter: int * DevIdListNum, uint8_t DevIdList[0x800]
90: getDevInfo, 2 Parameter: uint64_t DevId, uint8_t DevInfo[0x70]
91: getUsbDevInfo, 2 Parameter: uint64_t DevId, uint8_t DevInfo[0x86]
92: storageMode, 0 Parameter: return int storageMode
93: notifyCtrl, 1 Parameter: int CtrlInt( 0 = page close "page_hider" widget, 1 = create "page_hider" widget)
94: allreadyDisp, 0 Parameter: (cellFsUnlink "/dev_hdd0/data/disp_change.dat")
95: pspLoad, uint8_t PspSaveParam[0xA4], sys_memory_container_t MemoryContainer
96: pspSave, uint8_t PspSaveParam[0xA4], sys_memory_container_t MemoryContainer
97: vmcAssign, 4 Parameter: int VmcPort (0/1), char * vmcFileName, void *callback, 0 - GameDataAssignVmc
98: ps1End, 1 Parameter: int Ps1EndMode (0-4) - GameDataExit
99: SetPadRumble, 1 Parameter: int mode - (for pad id = 0)
100: 2 Parameter: uint8_t [0x2470] (vshcommon_34A05733("game_plugin")), int *
101: 0 Parameter: - GameExit Event ?
102: 1 Parameter: char * sfo_file_path - (re)load? sfo
103: 1 Parameter: char * dirname -> 67) "DeleteGame" delete game with memory container -1
104: 1 Parameter: char * pkg?_filepath

15) apptype

0 = 
1 = Game
2 = AT-Category App
extendedtype?
0 = no game execution?
1 = if not selected Title Ids
2 = for selected Title IDs: 
    NPIA00005 PlayStation Home
    NPEA00013 Playstation@Home
    NPIA00011 Playstation@Home?
    NPIA00009 Playstation@Home?
    NPIA00010 Playstation@Home

63) type (gametype)

0 = sys
1 = disc
2 = hdd
3 = home

71) type

1 = disc
2 = hdd
3 = gamedata

72) attribute

0x1 = patch
0x2 = app_home
0x4 = debug
0x8 = xmbbuy
0x10 = commerce2 browser
0x20 = invite message
0x40 = custom data message
0x100 = web browser

75) DataId (decimal)

102 = parental level
103 = resolution
104 = sound format

76) DataId (decimal)

0 = title
1 = title (default)
2 = title (japanese)
3 = title (english)
4 = title (french)
5 = title (spanish)
6 = title (german)
7 = title (italian)
8 = title (dutsch)
9 = title (portuguese)
10 = title (russian)
11 = title (korean)
12 = title (chinese traditional)
13 = title (chinese simplified)
14 = title (finnish)
15 = title (swedish)
16 = title (danish)
17 = title (norwegian)
18 = title (polish)
19 = title (portugeuese)
100 = title id
101 = version
106 = app_ver

66 + 68 + 69 + 70) refers to Playstation Home

80) type (decimal)

0 = broken gamedata
1 = broken hddgame
2 = no space
100 = broken gamedata (exit game)
101 = broken hddgame (exit game)
102 = no space (exit game)

82) option

0 = nothing
1 = apply theme after install

Title IDs

In Interface Functions 1,2 and 100 "jobs" happen to perform a check on TitleID.
Calling impose_plugin func 17 with parameter 1 (= sets notification_psbutton) / Calling vshnet_B9F9475 (which calls vshnet_827E8B4A ( 0x12 ) )

NPIA00005 Playstation Home
NPEA00013 Playstation@Home
BLJM60061 Lost Planet: Extreme Condition
BLJM60027 Call of Duty 3
BLJS10003 Enchanted Arms
BLJM60014 Need for Speed Carbon
BLJM60013 Railfan
BLJM60016 Virtua Fighter 5
BLJM60063 Valkyria Chronicles
BLJM60068 The Golden Compass
BLJM60007 SEGA GOLFCLUB
BLJM60057 Sega Rally Revo 
NPJB90043 Agarest Senki (Demo?)
NPJB90071 YAKUZA 3: Storyline [Demo]
NPJB90072 YAKUZA 3: Battle Engine [Demo]
NPJB90076 SEGA Rally™ Revo [Demo]
NPJB90100 HAZE [Demo]
BLJS50004 Enchanted Arms
BLAS50051 Iron Man
BLAS50003 Need for Speed: Carbon
BCAS20018 Railfan: Taiwan High-Speed Rail
BLUS30101 BlackSite: Area 51
BLUS30028 Enchanted Arms
BLUS30113 LOST PLANET: Extreme Condition
BLUS30012 Call of Duty® 3
BLUS30134 Iron Man™
BLUS30016 Need for Speed™ Carbon
NPUB90071 BlackSite Area 51 [Demo]
NPUB90099 Iron Man™ [Demo]
BLES00049 Enchanted Arms
BLES00020 Need for Speed™ Carbon
BLES00247 Iron Man
BLES00016 Call of Duty® 3
BLES00017 Call of Duty® 3
BLES00021 Call of Duty® 3
BLES00191 BlackSite: Area 51
BLES00198 LOST PLANET: Extreme Condition
NPEB90071 Iron Man™ [Demo]
BLKS20008 Need for Speed™ Carbon
BLKS20055 LOST PLANET: Extreme Condition
BLKS20006 Call of Duty® 3
BLKS20010 Railfan
BCKS10009 Virtua Fighter 5
BCKS10007 Disney Pixar's Ratatouille
BLKS20005 Marvel Ultimate Alliance
BLKS20017 Untold Legends: Dark Kingdom
BLKS20018 LEGO® Star Wars: The Complete Saga
BLKS20049 Assassin's Creed ™
BLKS20001 Armored Core 4
BLKS20031 Enemy Territory: Quake Wars

Eject Mode

EjectMode flag enforces game process termination "Please wait.." on :

Disc Games with SDK version <2.1 

and:

BCJS30003 RESISTANCE 〜人類没落の日〜
BCUS98107 Resistance: Fall of Man
BCES00001 Resistance: Fall of Man
BCAS20003 Resistance: Fall of Man
BCKS10004 Resistance: Fall of Man

Native Events

GameApp_OnInitGameMain
GameApp_OnActivateGameMain
GameApp_OnCancelGameMain