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


In Interface Functions 1,2 and 100 "jobs" happen to perform a check on TitleID. <br>
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 ) )
Calling [[impose_plugin]] func 17 with parameter 1 / Calling vshnet_B9F9475 (which calls vshnet_827E8B4A ( 0x12 ) )


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