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 (=0)
  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, sys_addr_t *alloc_addr [1]
  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: int InvalidMsg, void * callback, int
  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  
  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] ("Hybrid Flags" area from [[PS3_DISC.SFB]] ?)
  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 dialogtype, 0, void * ptr_handler, 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: setExitInfo, 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 ("/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==
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)