Editing Game 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 7: Line 7:


contains 105 subs:
contains 105 subs:
  0: PluginWakeup, 0 Parameter: - set Widget "page_game_main" and activate
  0: 0 Parameter: - set Widget "page_game_main" and activate
  1: 1 Parameter: uint8_t [0x5B8]
  ...
2: 1 Parameter: uint8_t [0x230]
  7: 0 Parameter: - set Widget "page_game_main", pageactivate and paf_55944323 /pa_FA17FC05.
3: 1 Parameter: int
  8: 1 Parameter: out:uint8_t [0x20?] - (+4 = TitleID)
4: 2 Parameter: int (used for func 3), uint8_t msg?dialog_struct[0x1A0]
  9: 1 Parameter: out:char* - returns (running?) TitleID
5: 0 Parameter:
  ...
6: 0 Parameter:
  15: GetExecAppType, 2 Parameter: int * apptype, int (=0)
  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)
  39: 1 Parameter: char * titleid
  9: 1 Parameter: out:char* [0x80]- returns Title
  40: 3 Parameter: char * titleid, ,  
10: 1 Parameter: out:uint8_t [8]
  41:
11: 2 Parameter: uint64_t data, int (0=12,other=0x13) - EventPortSend 0x100, 0x12/0x13,data
  42: 4 Parameter: char * titleid, , ,  
  12: 0 Parameter:
  ...
13: 0 Parameter:
  45: 2 Parameter: int value (-1), int value - (set NoCalcFlag)
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:  
  46: EndGameData, 0 Parameter:  
  47: getGameDataStat, 3 Parameter: char * DirName, char * CategoryType, uint8_t[0x1450]
  47: 3 Parameter: char * DirName, char * CategoryType, sys_addr_t *alloc_addr
  48: updateGameData, 4 Parameter: char * DirName, uint32_t CategoryType, void * callback, uint8_t[0x1450] (SysParam)
  48: 4 Parameter: char * DirName, char * CategoryType, void *ptr_handler, uint8_t[0xBA4] (SysParam)
49: showDialog, 5 Parameter: int errcode, int, int, void * callback, char * tex?
  51: 0 Parameter: - (init GameData/showDialog?)
50: showDialog, 3 Parameter: char * ErrorMsg, void * callback, char * tex?
  52: cacheInit/SysCacheParam, 2 Parameter: void * callback, uint8_t[0x444]
  51: 0 Parameter: FindWidget("page_game_main") - returns Widget View
  53: cacheClear, 0 Parameter:
  52: cacheInit, 2 Parameter: void * callback, uint8_t SysCacheParam[0x444] {char cacheId[0x20], char getCachePath[0x41F], void * reserved} - SysCacheMount
  54: GetBootInfo, 1 Parameter: uint8_t [0x20] (titleid?)
  53: cacheClear, 0 Parameter: returns GameDataStat - SysCacheClear
  55: 1 Parameter: char * - outputs (selected?) TitleID
  54: bootInfo, 1 Parameter: uint8_t bootinfo[0x20] // also gets TitleId - GameGetBootDiscInfo
  56: 2 Parameter: out: ptr* , int value (0,1) - (set/get? kbGetSize)
  55: GetTitleId,1 Parameter: uint8_t * titleId [0x20]
  57: SetSysVersion, 1 Parameter: int value
  56: kbGetSize, 2 Parameter: int * data (=0) , int value (0,1=EventPortSend 0x10E)
  58: GetDiscInfo, 1 Parameter: uint8_t [0x20]  
  57: SetSysVersion, 1 Parameter: char * SysVersion[7] (String Version for attribute "PS3_SYSTEM_VER") - GameDataSetSystemVer
  59: 4 Parameter: int dialogtype, 0, void * ptr_handler, 0
  58: GetDiscInfo, 1 Parameter: uint8_t [0x20] (titleid? (0xA) from /dev_ps2disc/SYSTEM.CNF or /dev_bdvd/PS3_GAME/(L0x/)PARAM.SFO)
  60: SetEjectMode?, 1 Parameter: int mode
  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
  61: 7 Parameter: DirName, , Type, Options, MemoryContainer, ExecData, UserData
  60: SetEjectMode, 1 Parameter: int mode (0=DiscGameUnregisterDiscChangeCallback,1=DiscGameRegisterDiscChangeCallback)
  62: getList, 7 Parameter: int * ListBufNum, sys_addr_t * memory_allocate_from_container, int * ListNum, int * GetListNum, MemoryContainerId
  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
  63: GetBootInfo, 3 Parameter: int * Type, char * DirName[0x20], int * ExecData
  64: SetParam, 1 Parameter: int * ExecData - SetExitParam
  64: SetExecData, 1 Parameter: int * ExecData
  65: GetExitInfo, 5 Parameter: int * status, int * Type, char * DirName, uint8_t * ExecData, uint8_t * UserData
  65:
  66: HomePath, 1 Parameter: char * HddGamePath (Playstation@Home "/dev_hdd0/game/NPEA00013/USRDIR")
  66: GetHddGamePath, 1 Parameter: char * HddGamePath/homePath
  67: DeleteGame, 2 Parameter: char * DirName, sys_memory_container_t MemoryContainerId
  67: DeleteGame, 2 Parameter: char * DirName, MemoryContainerId
  68: OptionPath, 2 Parameter: char * CommonPath, char * PersonalPath - GetHomeLaunchOptionPath
  68:
  69: ExportPath, 1 Parameter: char * ImportPath[0x80] (GetHomeDataExportPath)
  69: GetExportPath, 1 Parameter: char * ExportPath
  70: ImportPath, 1 Parameter: char * ExportPath[0x80] (GetHomeDataImportPath)
  70: GetImportPath, 1 Parameter: char * ImportPath
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
  97: 4 Parameter: int/char? VmcPort, char * vmcFileName, void *ptr_handler, 0
73: PatchCheck, 2 Parameter: int (-1), int * SizeInfo[3] {0, 0, 0} - GamePatchCheck
  98: 1 Parameter: void * ptr? /int? - (Ps1EndMode)
74: Create, 4 Parameter: uint8_t setData[0xD4] (GameSetInitParams), char * ContentInfoPath, char * GameDataPath, int Mode - GameCreateGameData
  99: SetPadRumble, 1 Parameter: int * mode
  75: getInt, 3 Parameter: int DataId, int * DataInt, int Mode - GameGetParamInt (from PARAM.SFO)
  100:
76: getStr, 4 Parameter: int DataId, char * DataStr, int max_len(0x80), int Mode - GameGetParamString (from PARAM.SFO)
  101:
77: setInt, 3 Parameter: int DataId, int DataInt, int Mode - GameSetParamInt (to PARAM.SFO)
  102:
  78: setStr, 3 Parameter: int DataId, char * DataStr, int Mode - GameSetParamString (to PARAM.SFO)
  103:
79: Close, 2 Parameter: char * ContentInfoPath, char * GameDataPath - GameContentPermit
  104:
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. <br>
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


{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
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)