#pragma once // Return Codes enum { CELL_GAME_RET_OK = 0, CELL_GAME_RET_CANCEL = 1, CELL_GAME_RET_NONE = 2, CELL_GAME_ERROR_NOTFOUND = 0x8002cb04, CELL_GAME_ERROR_BROKEN = 0x8002cb05, CELL_GAME_ERROR_INTERNAL = 0x8002cb06, CELL_GAME_ERROR_PARAM = 0x8002cb07, CELL_GAME_ERROR_NOAPP = 0x8002cb08, CELL_GAME_ERROR_ACCESS_ERROR = 0x8002cb09, CELL_GAME_ERROR_NOSPACE = 0x8002cb20, CELL_GAME_ERROR_NOTSUPPORTED = 0x8002cb21, CELL_GAME_ERROR_FAILURE = 0x8002cb22, CELL_GAME_ERROR_BUSY = 0x8002cb23, CELL_GAME_ERROR_IN_SHUTDOWN = 0x8002cb24, CELL_GAME_ERROR_INVALID_ID = 0x8002cb25, CELL_GAME_ERROR_EXIST = 0x8002cb26, CELL_GAME_ERROR_NOTPATCH = 0x8002cb27, CELL_GAME_ERROR_INVALID_THEME_FILE = 0x8002cb28, CELL_GAME_ERROR_BOOTPATH = 0x8002cb50, }; // Definitions enum { CELL_GAME_PATH_MAX = 128, CELL_GAME_DIRNAME_SIZE = 32, CELL_GAME_THEMEFILENAME_SIZE = 48, CELL_GAME_SYSP_LANGUAGE_NUM = 20, CELL_GAME_SYSP_TITLE_SIZE = 128, CELL_GAME_SYSP_TITLEID_SIZE = 10, CELL_GAME_SYSP_VERSION_SIZE = 6, CELL_GAME_SYSP_APP_VER_SIZE = 6, CELL_GAME_GAMETYPE_DISC = 1, CELL_GAME_GAMETYPE_HDD = 2, CELL_GAME_GAMETYPE_GAMEDATA = 3, CELL_GAME_SIZEKB_NOTCALC = -1, CELL_GAME_ATTRIBUTE_PATCH = 0x1, CELL_GAME_ATTRIBUTE_APP_HOME = 0x2, CELL_GAME_ATTRIBUTE_DEBUG = 0x4, CELL_GAME_ATTRIBUTE_XMBBUY = 0x8, CELL_GAME_ATTRIBUTE_COMMERCE2_BROWSER = 0x10, CELL_GAME_ATTRIBUTE_INVITE_MESSAGE = 0x20, CELL_GAME_ATTRIBUTE_CUSTOM_DATA_MESSAGE = 0x40, CELL_GAME_ATTRIBUTE_WEB_BROWSER = 0x100, }; //Parameter IDs of PARAM.SFO enum { //Integers CELL_GAME_PARAMID_PARENTAL_LEVEL = 102, CELL_GAME_PARAMID_RESOLUTION = 103, CELL_GAME_PARAMID_SOUND_FORMAT = 104, //Strings CELL_GAME_PARAMID_TITLE = 0, CELL_GAME_PARAMID_TITLE_DEFAULT = 1, CELL_GAME_PARAMID_TITLE_JAPANESE = 2, CELL_GAME_PARAMID_TITLE_ENGLISH = 3, CELL_GAME_PARAMID_TITLE_FRENCH = 4, CELL_GAME_PARAMID_TITLE_SPANISH = 5, CELL_GAME_PARAMID_TITLE_GERMAN = 6, CELL_GAME_PARAMID_TITLE_ITALIAN = 7, CELL_GAME_PARAMID_TITLE_DUTCH = 8, CELL_GAME_PARAMID_TITLE_PORTUGUESE = 9, CELL_GAME_PARAMID_TITLE_RUSSIAN = 10, CELL_GAME_PARAMID_TITLE_KOREAN = 11, CELL_GAME_PARAMID_TITLE_CHINESE_T = 12, CELL_GAME_PARAMID_TITLE_CHINESE_S = 13, CELL_GAME_PARAMID_TITLE_FINNISH = 14, CELL_GAME_PARAMID_TITLE_SWEDISH = 15, CELL_GAME_PARAMID_TITLE_DANISH = 16, CELL_GAME_PARAMID_TITLE_NORWEGIAN = 17, CELL_GAME_PARAMID_TITLE_POLISH = 18, CELL_GAME_PARAMID_TITLE_PORTUGUESE_BRAZIL = 19, CELL_GAME_PARAMID_TITLE_ENGLISH_UK = 20, CELL_GAME_PARAMID_TITLE_ID = 100, CELL_GAME_PARAMID_VERSION = 101, CELL_GAME_PARAMID_APP_VER = 106, }; //Error dialog types enum { CELL_GAME_ERRDIALOG_BROKEN_GAMEDATA = 0, CELL_GAME_ERRDIALOG_BROKEN_HDDGAME = 1, CELL_GAME_ERRDIALOG_NOSPACE = 2, CELL_GAME_ERRDIALOG_BROKEN_EXIT_GAMEDATA = 100, CELL_GAME_ERRDIALOG_BROKEN_EXIT_HDDGAME = 101, CELL_GAME_ERRDIALOG_NOSPACE_EXIT = 102, }; struct CellGameContentSize { be_t hddFreeSizeKB; be_t sizeKB; be_t sysSizeKB; }; struct CellGameSetInitParams { char title[CELL_GAME_SYSP_TITLE_SIZE]; char titleId[CELL_GAME_SYSP_TITLEID_SIZE]; char reserved0[2]; char version[CELL_GAME_SYSP_VERSION_SIZE]; char reserved1[66]; }; struct CellGameDataCBResult { be_t result; be_t errNeedSizeKB; be_t invalidMsg_addr; be_t reserved; }; enum // old consts { CELL_GAMEDATA_CBRESULT_OK_CANCEL = 1, CELL_GAMEDATA_CBRESULT_OK = 0, CELL_GAMEDATA_CBRESULT_ERR_NOSPACE = -1, CELL_GAMEDATA_CBRESULT_ERR_BROKEN = -3, CELL_GAMEDATA_CBRESULT_ERR_NODATA = -4, CELL_GAMEDATA_CBRESULT_ERR_INVALID = -5, CELL_GAMEDATA_RET_OK = 0, CELL_GAMEDATA_RET_CANCEL = 1, CELL_GAMEDATA_ERROR_CBRESULT = 0x8002b601, CELL_GAMEDATA_ERROR_ACCESS_ERROR = 0x8002b602, CELL_GAMEDATA_ERROR_INTERNAL = 0x8002b603, CELL_GAMEDATA_ERROR_PARAM = 0x8002b604, CELL_GAMEDATA_ERROR_NOSPACE = 0x8002b605, CELL_GAMEDATA_ERROR_BROKEN = 0x8002b606, CELL_GAMEDATA_ERROR_FAILURE = 0x8002b607, CELL_GAMEDATA_ATTR_NORMAL = 0, CELL_GAMEDATA_VERSION_CURRENT = 0, CELL_GAMEDATA_INVALIDMSG_MAX = 256, CELL_GAMEDATA_PATH_MAX = 1055, CELL_GAMEDATA_DIRNAME_SIZE = 32, CELL_GAMEDATA_SIZEKB_NOTCALC = -1, CELL_GAMEDATA_SYSP_LANGUAGE_NUM = 20, CELL_GAMEDATA_SYSP_TITLE_SIZE = 128, CELL_GAMEDATA_SYSP_TITLEID_SIZE = 10, CELL_GAMEDATA_SYSP_VERSION_SIZE = 6, CELL_GAMEDATA_ISNEWDATA_NO = 0, CELL_GAMEDATA_ISNEWDATA_YES = 1, CELL_GAMEDATA_ERRDIALOG_NONE = 0, CELL_GAMEDATA_ERRDIALOG_ALWAYS = 1, }; struct CellGameDataSystemFileParam { char title[CELL_GAMEDATA_SYSP_TITLE_SIZE]; char titleLang[CELL_GAMEDATA_SYSP_LANGUAGE_NUM][CELL_GAMEDATA_SYSP_TITLE_SIZE]; char titleId[CELL_GAMEDATA_SYSP_TITLEID_SIZE]; char reserved0[2]; char dataVersion[CELL_GAMEDATA_SYSP_VERSION_SIZE]; char reserved1[2]; be_t parentalLevel; be_t attribute; char reserved2[256]; }; struct CellGameDataStatGet { be_t hddFreeSizeKB; be_t isNewData; char contentInfoPath[CELL_GAMEDATA_PATH_MAX]; char gameDataPath[CELL_GAMEDATA_PATH_MAX]; char reserved0[2]; be_t st_atime_; be_t st_mtime_; be_t st_ctime_; CellGameDataSystemFileParam getParam; be_t sizeKB; be_t sysSizeKB; char reserved1[68]; }; struct CellGameDataStatSet { mem_beptr_t setParam; be_t reserved; };