mirror of
https://github.com/IllusionMan1212/vitasdk-odin.git
synced 2026-10-24 02:12:38 +00:00
initial
This commit is contained in:
@@ -0,0 +1,353 @@
|
||||
package commondialog
|
||||
|
||||
import "core:c"
|
||||
import sce "../common"
|
||||
import sceGxm "../Gxm"
|
||||
import sceNet "../Net"
|
||||
import scePspnet "../PspnetAdhoc"
|
||||
|
||||
SCE_COMMON_DIALOG_MAGIC_NUMBER :: 0xC0D1A109
|
||||
|
||||
/* Errors */
|
||||
// TODO: should be c.int
|
||||
SceCommonDialogErrorCode :: enum i64 {
|
||||
BUSY = 0x80020401,
|
||||
NULL = 0x80020402,
|
||||
INVALID_ARGUMENT = 0x80020403,
|
||||
NOT_RUNNING = 0x80020404,
|
||||
NOT_SUPPORTED = 0x80020405,
|
||||
ILLEGAL_CALLER_THREAD = 0x80020406,
|
||||
NOT_CONFIGURED = 0x80020407,
|
||||
NOT_AVAILABLE = 0x80020408,
|
||||
NOT_FINISHED = 0x80020410,
|
||||
NOT_IN_USE = 0x80020411,
|
||||
INVALID_COLOR_FORMAT = 0x80020420,
|
||||
INVALID_SURFACE_RESOLUTION = 0x80020421,
|
||||
INVALID_SURFACE_STRIDE = 0x80020422,
|
||||
INVALID_SURFACE_TYPE = 0x80020423,
|
||||
WITHIN_SCENE = 0x80020424,
|
||||
IME_IN_USE = 0x80020430,
|
||||
INVALID_LANGUAGE = 0x80020431,
|
||||
INVALID_ENTER_BUTTON_ASSIGN = 0x80020432,
|
||||
INVALID_INFOBAR_PARAM = 0x80020433,
|
||||
INVALID_BG_COLOR = 0x80020434,
|
||||
INVALID_DIMMER_COLOR = 0x80020435,
|
||||
GXM_IS_UNINITIALIZED = 0x80020436,
|
||||
UNEXPECTED_FATAL = 0x8002047F
|
||||
}
|
||||
|
||||
SceCommonDialogConfigParam :: struct {
|
||||
sdkVersion: sce.UInt32,
|
||||
language: sce.SceSystemParamLang,
|
||||
enterButtonAssign: sce.SceSystemParamEnterButtonAssign,
|
||||
reserved: [32]sce.UInt8,
|
||||
}
|
||||
#assert(size_of(SceCommonDialogConfigParam) == 0x2C)
|
||||
|
||||
SceCommonDialogStatus :: enum c.int {
|
||||
NONE = 0,
|
||||
RUNNING = 1,
|
||||
FINISHED = 2
|
||||
}
|
||||
|
||||
SceCommonDialogResult :: enum c.int {
|
||||
OK,
|
||||
USER_CANCELED,
|
||||
ABORTED
|
||||
}
|
||||
|
||||
SceCommonDialogRenderTargetInfo :: struct {
|
||||
depthSurfaceData: sce.PVoid,
|
||||
colorSurfaceData: sce.PVoid,
|
||||
surfaceType: sceGxm.SceGxmColorSurfaceType,
|
||||
colorFormat: sceGxm.SceGxmColorFormat,
|
||||
width: sce.UInt32,
|
||||
height: sce.UInt32,
|
||||
strideInPixels: sce.UInt32,
|
||||
reserved: [32]sce.UInt8,
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceCommonDialogRenderTargetInfo) == 0x3C)
|
||||
}
|
||||
|
||||
SceCommonDialogUpdateParam :: struct {
|
||||
renderTarget: SceCommonDialogRenderTargetInfo,
|
||||
displaySyncObject: ^sceGxm.SceGxmSyncObject,
|
||||
reserved: [32]sce.UInt8,
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceCommonDialogUpdateParam) == 0x60)
|
||||
}
|
||||
|
||||
SceCommonDialogInfobarParam :: struct {
|
||||
visibility: sce.Int32,
|
||||
color: sce.Int32,
|
||||
transparency: sce.Int32,
|
||||
reserved: [32]sce.UInt8,
|
||||
}
|
||||
#assert(size_of(SceCommonDialogInfobarParam) == 0x2C)
|
||||
|
||||
SceCommonDialogColor :: struct {
|
||||
r: sce.UInt8,
|
||||
g: sce.UInt8,
|
||||
b: sce.UInt8,
|
||||
a: sce.UInt8,
|
||||
}
|
||||
#assert(size_of(SceCommonDialogColor) == 4)
|
||||
|
||||
SceCommonDialogBgColor :: SceCommonDialogColor
|
||||
#assert(size_of(SceCommonDialogBgColor) == 4)
|
||||
|
||||
SceCommonDialogParam :: struct {
|
||||
infobarParam: ^SceCommonDialogInfobarParam,
|
||||
bgColor: ^SceCommonDialogColor,
|
||||
dimmerColor: ^SceCommonDialogColor,
|
||||
reserved: [60]sce.UInt8,
|
||||
magic: sce.UInt32,
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceCommonDialogParam) == 0x4C)
|
||||
}
|
||||
|
||||
|
||||
// TODO:
|
||||
SceMsgDialogErrorCode :: enum c.uint {
|
||||
//! Illegal parameter
|
||||
SCE_MSG_DIALOG_ERROR_PARAM = 0x80100A01
|
||||
}
|
||||
|
||||
//! Max length of a user message
|
||||
SCE_MSG_DIALOG_USER_MSG_SIZE :: 512
|
||||
|
||||
SceMsgDialogMode :: enum c.int {
|
||||
INVALID = 0,
|
||||
USER_MSG = 1,
|
||||
SYSTEM_MSG = 2,
|
||||
ERROR_CODE = 3,
|
||||
PROGRESS_BAR = 4
|
||||
}
|
||||
|
||||
SceMsgDialogSystemMessageType :: enum c.int {
|
||||
INVALID = 0,
|
||||
//! Displays "Please wait."
|
||||
WAIT = 1,
|
||||
//! Displays "There is not enough free space on the memory card."
|
||||
NOSPACE = 2,
|
||||
//! Displays "Move away from the source of interference, or adjust the compass by moving your PS Vita system as shown below."
|
||||
MAGNETIC_CALIBRATION = 3,
|
||||
//! Displays "Please wait." in a small message dialog
|
||||
WAIT_SMALL = 5,
|
||||
//! Displays "Please wait..." with a cancel button
|
||||
WAIT_CANCEL = 6,
|
||||
//! Displays "Cannot continue the application. No memory card is inserted."
|
||||
NEED_MC_CONTINUE = 7,
|
||||
//! Displays "Cannot perform this operation. No memory card is inserted."
|
||||
NEED_MC_OPERATION = 8,
|
||||
//! Displays "You must enable the microphone."
|
||||
TRC_MIC_DISABLED = 100,
|
||||
//! Displays "You must use Wi-Fi to do this."
|
||||
TRC_WIFI_REQUIRED_OPERATION = 101,
|
||||
//! Displays "You must use Wi-Fi to use this application."
|
||||
TRC_WIFI_REQUIRED_APPLICATION = 102,
|
||||
//! Displays "No content is available yet."
|
||||
TRC_EMPTY_STORE = 103
|
||||
}
|
||||
|
||||
SceMsgDialogButtonType :: enum c.int {
|
||||
TYPE_OK = 0,
|
||||
TYPE_YESNO = 1,
|
||||
TYPE_NONE = 2,
|
||||
TYPE_OK_CANCEL = 3,
|
||||
TYPE_CANCEL = 4,
|
||||
TYPE_3BUTTONS = 5
|
||||
}
|
||||
|
||||
SceMsgDialogButtonId :: enum c.int {
|
||||
INVALID = 0,
|
||||
OK = 1,
|
||||
YES = 1,
|
||||
NO = 2,
|
||||
RETRY = 3,
|
||||
BUTTON1 = 1,
|
||||
BUTTON2 = 2,
|
||||
BUTTON3 = 3
|
||||
}
|
||||
|
||||
SceMsgDialogProgressBarType :: enum c.int {
|
||||
PERCENTAGE = 0
|
||||
}
|
||||
|
||||
SceMsgDialogProgressBarTarget :: enum c.int {
|
||||
DEFAULT = 0
|
||||
}
|
||||
|
||||
SceMsgDialogEnvFlag :: enum c.int {
|
||||
DEFAULT = 0
|
||||
}
|
||||
|
||||
SceMsgDialogFontSize :: enum c.int {
|
||||
DEFAULT = 0,
|
||||
SMALL = 1
|
||||
}
|
||||
|
||||
SceMsgDialogButtonsParam :: struct {
|
||||
msg1: cstring, //!< Text of the first button
|
||||
fontSize1: sce.Int32, //!< Font size of the first button (one of ::SceMsgDialogFontSize)
|
||||
msg2: cstring, //!< Text of the second button
|
||||
fontSize2: sce.Int32, //!< Font size of the second button (one of ::SceMsgDialogFontSize)
|
||||
msg3: cstring, //!< Text of the third button
|
||||
fontSize3: sce.Int32, //!< Font size of the third button (one of ::SceMsgDialogFontSize)
|
||||
reserved: [32]sce.Char8, //!< Reserved range
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceMsgDialogButtonsParam) == 0x38)
|
||||
}
|
||||
|
||||
SceMsgDialogUserMessageParam :: struct {
|
||||
buttonType: sce.Int32, //!< Type of button set (one of ::SceMsgDialogButtonType)
|
||||
msg: cstring, //!< Displayed message
|
||||
buttonParam: ^SceMsgDialogButtonsParam, //!< Buttons parameters
|
||||
reserved: [28]sce.Char8, //!< Reserved range
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceMsgDialogUserMessageParam) == 0x28)
|
||||
}
|
||||
|
||||
SceMsgDialogSystemMessageParam :: struct {
|
||||
sysMsgType: sce.Int32, //!< System message type (one of ::SceMsgDialogSystemMessageType)
|
||||
value: sce.Int32, //!< Additional value
|
||||
reserved: [32]sce.Char8, //!< Reserved range
|
||||
}
|
||||
#assert(size_of(SceMsgDialogSystemMessageParam) == 0x28)
|
||||
|
||||
SceMsgDialogErrorCodeParam :: struct {
|
||||
errorCode: sce.Int32, //!< Displayed error code
|
||||
reserved: [32]sce.Char8, //!< Reserved range
|
||||
}
|
||||
#assert(size_of(SceMsgDialogErrorCodeParam) == 0x24)
|
||||
|
||||
SceMsgDialogProgressBarParam :: struct {
|
||||
barType: sce.Int32, //!< Progress bar type (one of ::SceMsgDialogProgressBarType)
|
||||
sysMsgParam: SceMsgDialogSystemMessageParam, //!< Displayed system message
|
||||
msg: cstring, //!< Displayed user message
|
||||
reserved: [8]sce.Int32, //!< Reserved range
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceMsgDialogProgressBarParam) == 0x50)
|
||||
}
|
||||
|
||||
SceMsgDialogParam :: struct {
|
||||
sdkVersion: sce.UInt32, //!< Required to use MsgDialog. Just use NULL
|
||||
commonParam: SceCommonDialogParam, //!< Common parameter
|
||||
mode: sce.Int32, //!< Mode of function (one of ::SceMsgDialogMode)
|
||||
userMsgParam: ^SceMsgDialogUserMessageParam, //!< Parameter for user message
|
||||
sysMsgParam: ^SceMsgDialogSystemMessageParam, //!< Parameter for system prepared message
|
||||
errorCodeParam: ^SceMsgDialogErrorCodeParam, //!< Parameter for display error code
|
||||
progBarParam: ^SceMsgDialogProgressBarParam, //!< Parameter for progress bar
|
||||
flag: sce.Int32, //!< Settings for dialog environment (one of ::SceMsgDialogEnvFlag)
|
||||
reserved: [32]sce.Char8, //!< Reserved range
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceMsgDialogParam) == 0x88)
|
||||
}
|
||||
|
||||
SceMsgDialogResult :: struct {
|
||||
mode: sce.Int32, //!< Mode of function (one of ::SceMsgDialogMode)
|
||||
result: sce.Int32, //!< Result of executing function
|
||||
buttonId: sce.Int32, //!< Id of button user selected (one of ::SceMsgDialogButtonId)
|
||||
reserved: [32]sce.Char8, //!< Reserved range
|
||||
}
|
||||
#assert(size_of(SceMsgDialogResult) == 0x2C)
|
||||
|
||||
|
||||
// TODO:
|
||||
SceNetCheckDialoErrorCode :: enum c.uint {
|
||||
PARAM = 0x80100C01,
|
||||
INVALID_MODE = 0x80100C02,
|
||||
LACK_OF_LIBHTTP_POOL_SIZE = 0x80100C03,
|
||||
LACK_OF_LIBSSL_POOL_SIZE = 0x80100C04,
|
||||
LATEST_PATCH_PKG_EXIST = 0x80100C05,
|
||||
SIGN_OUT = 0x80100C06,
|
||||
INVALID_PSPADHOC_PARAM = 0x80100C07,
|
||||
INVALID_TIMEOUT_PARAM = 0x80100C08,
|
||||
PSN_AGE_RESTRICTION = 0x80100C09
|
||||
}
|
||||
|
||||
SCE_NETCHECK_DIALOG_LEAST_HTTP_POOL_SIZE :: (36 * 1024)
|
||||
SCE_NETCHECK_DIALOG_LEAST_SSL_POOL_SIZE :: (96 * 1024)
|
||||
SCE_NETCHECK_DIALOG_INITIAL_AGE_RESTRICTION :: (-1)
|
||||
SCE_NETCHECK_DIALOG_COUNTRY_CODE_LEN :: (2)
|
||||
SCE_NETCHECK_DIALOG_AGE_RESTRICTION_COUNT_MAX :: (200)
|
||||
|
||||
SceNetCheckDialogMode :: enum c.int {
|
||||
INVALID = 0,
|
||||
ADHOC_CONN = 1,
|
||||
PSN = 2,
|
||||
PSN_ONLINE = 3,
|
||||
PS3_CONNECT = 4,
|
||||
PSP_ADHOC_CONN = 5,
|
||||
PSP_ADHOC_CREATE = 6,
|
||||
PSP_ADHOC_JOIN = 7
|
||||
}
|
||||
|
||||
SceNetCheckDialogPS3ConnectAction :: enum c.int {
|
||||
ENTER = 0,
|
||||
LEAVE = 1
|
||||
}
|
||||
|
||||
SceNpCommunicationId :: struct {
|
||||
data: [9]c.char,
|
||||
term: c.char,
|
||||
num: sce.UChar8,
|
||||
dummy: c.char,
|
||||
}
|
||||
#assert(size_of(SceNpCommunicationId) == 0xC)
|
||||
|
||||
SceNetCheckDialogPS3ConnectParam :: struct {
|
||||
action: sce.Int32,
|
||||
ssid: [32 + 1]c.char,
|
||||
wpaKey: [64 + 1]c.char,
|
||||
titleId: [9 + 1]c.char,
|
||||
}
|
||||
#assert(size_of(SceNetCheckDialogPS3ConnectParam) == 0x70)
|
||||
|
||||
SceNetCheckDialogAgeRestriction :: struct {
|
||||
countryCode: [SCE_NETCHECK_DIALOG_COUNTRY_CODE_LEN]c.char,
|
||||
age: sce.Int8,
|
||||
padding: sce.Int8,
|
||||
}
|
||||
#assert(size_of(SceNetCheckDialogAgeRestriction) == 4)
|
||||
|
||||
SceNetCheckDialogParam :: struct {
|
||||
sdkVersion: sce.UInt32,
|
||||
commonParam: SceCommonDialogParam,
|
||||
mode: sce.Int32,
|
||||
npCommunicationId: SceNpCommunicationId,
|
||||
ps3ConnectParam: ^SceNetCheckDialogPS3ConnectParam,
|
||||
groupName: ^scePspnet.SceNetAdhocctlGroupName,
|
||||
timeoutUs: sce.UInt32,
|
||||
defaultAgeRestriction: sce.Int8,
|
||||
padding: [3]sce.Int8,
|
||||
ageRestrictionCount: sce.Int32,
|
||||
ageRestriction: ^SceNetCheckDialogAgeRestriction,
|
||||
reserved: [104]sce.UInt8,
|
||||
}
|
||||
when size_of(rawptr) == 4 {
|
||||
#assert(size_of(SceNetCheckDialogParam) == 0xE0)
|
||||
}
|
||||
|
||||
SceNetCheckDialogResult :: struct {
|
||||
result: sce.Int32,
|
||||
psnModeSucceeded: sce.Bool,
|
||||
reserved: [124]sce.UInt8,
|
||||
}
|
||||
#assert(size_of(SceNetCheckDialogResult) == 0x84)
|
||||
|
||||
SceNetCheckDialogPS3ConnectInfo :: struct {
|
||||
inaddr: sceNet.SceNetInAddr,
|
||||
nickname: [128]sce.UInt8,
|
||||
macAddress: [6]sce.UInt8,
|
||||
reserved: [6]sce.UInt8,
|
||||
}
|
||||
#assert(size_of(SceNetCheckDialogPS3ConnectInfo) == 0x90)
|
||||
|
||||
Reference in New Issue
Block a user