Game plugin

From PS3 Developer wiki
Jump to: navigation, search

1 Identifier:

  • 1

1 Interface[edit]

contains 105 subs:

0: 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: 0 Parameter: - set Widget "page_game_main", pageactivate and paf_55944323 /paf_FA17FC05.
8: 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[edit]

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[edit]

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[edit]

GameApp_OnInitGameMain
GameApp_OnActivateGameMain
GameApp_OnCancelGameMain