diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/user/paf.h | 117 | ||||
-rw-r--r-- | include/user/paf/common.h | 274 | ||||
-rw-r--r-- | include/user/paf/graphics.h | 32 | ||||
-rw-r--r-- | include/user/paf/misc.h | 45 | ||||
-rw-r--r-- | include/user/paf/resource.h | 44 | ||||
-rw-r--r-- | include/user/paf/stdc.h | 76 | ||||
-rw-r--r-- | include/user/paf/thread.h | 15 | ||||
-rw-r--r-- | include/user/paf/toplevel.h | 169 | ||||
-rw-r--r-- | include/user/paf/widget.h | 267 |
9 files changed, 925 insertions, 114 deletions
diff --git a/include/user/paf.h b/include/user/paf.h index 92e6212..1a6a114 100644 --- a/include/user/paf.h +++ b/include/user/paf.h @@ -5,115 +5,14 @@ #ifndef _VDSUITE_USER_PAF_H #define _VDSUITE_USER_PAF_H -#include <stdarg.h> -#include <wchar.h> -#include <scetypes.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ScePafString { - char *data; - SceSize length; -} ScePafString; - -typedef struct ScePafWString { - SceWChar16 *data; - SceSize length; -} ScePafWString; - -/** - * std C functions - */ - -void *sce_paf_bzero(void *ptr, SceSize num); -void *sce_paf_memchr(const void *ptr, int value, SceSize num); -int sce_paf_memcmp(const void *ptr1, const void *ptr2, SceSize num); -int sce_paf_bcmp(const void *ptr1, const void *ptr2, SceSize num); -void *sce_paf_memcpy(void *destination, const void *source, SceSize num); -void *sce_paf_memmove(void *destination, const void *source, SceSize num); -void *sce_paf_bcopy(void *destination, const void *source, SceSize num); -void *sce_paf_memset(void *ptr, int value, SceSize num); -int sce_paf_snprintf(char *s, SceSize n, const char *format, ...); -int sce_paf_strcasecmp(const char *str1, const char *str2); -char *sce_paf_strchr(const char *str, int character); -int sce_paf_strcmp(const char *str1, const char *str2); -size_t sce_paf_strlen(const char *str); -int sce_paf_strncasecmp(const char *str1, const char *str2, SceSize num); -int sce_paf_strncmp(const char *str1, const char *str2, SceSize num); -char *sce_paf_strncpy(char *destination, const char *source, SceSize num); -char *sce_paf_strrchr(const char *str, int character); - -/** - * wchar functions - */ - -/* __attribute__((__format__(__wprintf__, 3, 4))) */ -int sce_paf_swprintf(wchar_t *buffer, size_t bufsz, const wchar_t *format, ...); - -int sce_paf_vswprintf(wchar_t *buffer, size_t bufsz, const wchar_t *format, va_list vlist); - -wint_t sce_paf_towlower(wint_t wc); - -wchar_t *sce_paf_wcscat(wchar_t *dest, const wchar_t *src); -wchar_t *sce_paf_wcsncat(wchar_t *dest, const wchar_t *src, size_t count); -wchar_t *sce_paf_wcscpy(wchar_t *dest, const wchar_t *src); -wchar_t *sce_paf_wcsncpy(wchar_t *dest, const wchar_t *src, size_t count); - -int sce_paf_wcscasecmp(const wchar_t *s1, const wchar_t *s2); -wchar_t *sce_paf_wcschr(const wchar_t *str, wchar_t ch); -int sce_paf_wcscmp(const wchar_t *lhs, const wchar_t *rhs); -size_t sce_paf_wcscspn(const wchar_t *dest, const wchar_t *src); -size_t sce_paf_wcslen(const wchar_t *str); -int sce_paf_wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); -int sce_paf_wcsncmp(const wchar_t *lhs, const wchar_t *rhs, size_t count); -size_t sce_paf_wcsnlen(const wchar_t *s, size_t maxlen); -wchar_t *sce_paf_wcspbrk(const wchar_t *dest, const wchar_t *str); -wchar_t *sce_paf_wcsrchr(const wchar_t *str, wchar_t ch); -size_t sce_paf_wcsspn(const wchar_t *dest, const wchar_t *src); - -wchar_t *sce_paf_wmemchr(const wchar_t *ptr, wchar_t ch, size_t count); -int sce_paf_wmemcmp(const wchar_t *lhs, const wchar_t *rhs, size_t count); -wchar_t *sce_paf_wmemcpy(wchar_t *dest, const wchar_t *src, size_t count); -wchar_t *sce_paf_wmemmove(wchar_t *dest, const wchar_t *src, size_t count); - -/** - * CES functions - */ - -#define SCE_PAF_CES_ALLOW_ILLEGAL_CODE 0x2 -#define SCE_PAF_CES_ALLOW_OUT_OF_CODE_RANGE 0x4 -#define SCE_PAF_CES_ALLOW_INVALID_ENCODE 0x8 -#define SCE_PAF_CES_ALLOW_SRC_BUFFER_END 0x10 - -/* UTF8 to UTF16 */ - -SceSSize scePafCesUtf8ToUtf16(const ScePafString *utf8, ScePafWString *utf16); - -SceSSize scePafCesUtf8ToUtf16WithFlag(const ScePafString *utf8, ScePafWString *utf16, SceUInt32 flags); - -SceSSize scePafCesUtf8CharToUtf16(const char *utf8, ScePafWString *utf16); - -SceSSize scePafCesUtf8CharToUtf16WithFlag(const char *utf8, ScePafWString *utf16, SceUInt32 flags); - -ScePafWString *scePafCesUtf8CharToUtf16WithAlloc(const char *utf8, ScePafWString *utf16); - -/* UTF16 to UTF8 */ - -SceSSize scePafCesUtf16ToUtf8(const ScePafWString *utf16, ScePafString *utf8); - -SceSSize scePafCesUtf16ToUtf8WithFlag(const ScePafWString *utf16, ScePafString *utf8, SceUInt32 flags); - -SceSSize scePafCesUtf16CharToUtf8(const SceWChar16 *utf16, ScePafString *utf8); - -SceSSize scePafCesUtf16CharToUtf8WithFlag(const SceWChar16 *utf16, ScePafString *utf8, SceUInt32 flags); - -ScePafString *scePafCesUtf16CharToUtf8WithAlloc(const SceWChar16 *utf16, ScePafString *utf8); - -#ifdef __cplusplus -} -#endif +#include <paf/stdc.h> +#include <paf/common.h> +#include <paf/graphics.h> +#include <paf/misc.h> +#include <paf/resource.h> +#include <paf/thread.h> +#include <paf/toplevel.h> +#include <paf/widget.h> #endif /* _VDSUITE_USER_PAF_H */ diff --git a/include/user/paf/common.h b/include/user/paf/common.h new file mode 100644 index 0000000..81851cf --- /dev/null +++ b/include/user/paf/common.h @@ -0,0 +1,274 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_COMMON_H +#define _VDSUITE_USER_PAF_COMMON_H + +#include <scetypes.h> +#include <paf/stdc.h> + +namespace paf { + + class String; + class WString; + + namespace common { + + enum CesFlags + { + AllowIllegalCode = 0x2, + AllowOutOfCodeRange = 0x4, + AllowInvalidEncode = 0x8, + AllowSrcBufferEnd = 0x10 + }; + + } + + + class String + { + public: + + String() : data(SCE_NULL), length(0) + { + + } + + ~String() + { + if (data != SCE_NULL) + delete data; + } + + static SceSSize ToWString(const char *src, paf::WString *dst); + + static SceSSize ToWString(const char *src, paf::WString *dst, SceUInt32 flags); + + static String *WCharToNewString(const SceWChar16 *src, String *dst); + + SceSSize ToWString(paf::WString *dst); + + SceSSize ToWString(paf::WString *dst, SceUInt32 flags); + + String *Set(const char *s, SceSize srcLength) + { + if (data == s) + return this; + + if (data != SCE_NULL) + delete data; + + if (srcLength == 0 || s == SCE_NULL || s[0] == 0) { + data = SCE_NULL; + length = 0; + return this; + } + + data = new char[srcLength + 1]; + length = srcLength; + sce_paf_memcpy(data, s, length); + data[length] = 0; + + return this; + } + + String *Set(const char *s) + { + return Set(s, sce_paf_strlen(s)); + } + + String *operator=(const String *s) + { + if (data == s->data) + return this; + + if (s->length == 0) { + data = SCE_NULL; + length = 0; + return this; + } + + data = new char[s->length + 1]; + length = s->length; + sce_paf_memcpy(data, s->data, s->length + 1); + + return this; + } + + String *operator+(const String *s) const + { + String *newStr = new String; + + if (!length && !s->length) + { + return newStr; + } + + newStr->data = new char[s->length + length + 1]; + newStr->length = s->length + length; + sce_paf_memcpy(newStr->data, data, length); + sce_paf_memcpy(&newStr->data[length], s->data, s->length + 1); + newStr->data[newStr->length] = 0; + return newStr; + } + + SceBool operator==(const String *s) const + { + if (s->length != length) + return SCE_FALSE; + + if (!sce_paf_strncmp(s->data, data, length)) + return SCE_TRUE; + else + return SCE_FALSE; + } + + SceVoid Clear() + { + if (data != SCE_NULL) { + delete data; + data = SCE_NULL; + } + } + + char *data; + SceSize length; + + private: + + SceUInt32 m_work; + + }; + + class WString + { + public: + + WString() : data(SCE_NULL), length(0) + { + + } + + ~WString() + { + if (data != SCE_NULL) + delete data; + } + + static SceSSize ToString(const SceWChar16 *src, String *dst); + + static SceSSize ToString(const SceWChar16 *src, String *dst, SceUInt32 flags); + + static WString *CharToNewWString(const char *src, WString *dst); + + SceSSize ToString(String *dst); + + SceSSize ToString(String *dst, SceUInt32 flags); + + WString *Set(const SceWChar16 *s, SceSize srcLength) + { + if (data == s) + return this; + + if (data != SCE_NULL) + delete data; + + if (srcLength == 0 || s == SCE_NULL || s[0] == 0) { + data = SCE_NULL; + length = 0; + return this; + } + + data = new SceWChar16[srcLength + 1]; + length = srcLength; + sce_paf_wmemcpy((wchar_t*)data, (wchar_t*)s, length); + data[length] = 0; + + return this; + } + + WString *Set(const SceWChar16 *s) + { + return Set(s, sce_paf_wcslen((wchar_t*)s)); + } + + WString *operator=(const WString *s) + { + if (data == s->data) + return this; + + if (s->length == 0) { + data = SCE_NULL; + length = 0; + return this; + } + + data = new SceWChar16[s->length + 1]; + length = s->length; + sce_paf_wmemcpy((wchar_t*)data, (wchar_t*)s->data, s->length + 1); + + return this; + } + + WString *operator+(const String *s) const + { + WString *newStr = new WString; + + if (!length && !s->length) + { + return newStr; + } + + newStr->data = new SceWChar16[s->length + length + 1]; + newStr->length = s->length + length; + sce_paf_wmemcpy((wchar_t*)newStr->data, (wchar_t*)data, length); + sce_paf_wmemcpy((wchar_t*)&newStr->data[length], (wchar_t*)s->data, s->length + 1); + newStr->data[newStr->length] = 0; + return newStr; + } + + SceBool operator==(const WString *s) const + { + if (s->length != length) + return SCE_FALSE; + + if (!sce_paf_wcsncmp((wchar_t*)s->data, (wchar_t*)data, length)) + return SCE_TRUE; + else + return SCE_FALSE; + } + + SceVoid Clear() + { + if (data != SCE_NULL) + delete data; + } + + SceWChar16 *data; + SceSize length; + + private: + + SceUInt32 m_work; + }; + + namespace common { + + class Utils + { + public: + + typedef void(*MainThreadTaskEntryFunction)(void *pArgBlock); + + Utils(); + + ~Utils(); + + static SceVoid AddMainThreadTask(MainThreadTaskEntryFunction entry, ScePVoid pArgBlock); + }; + + } +} + +#endif /* _VDSUITE_USER_PAF_COMMON_H */ diff --git a/include/user/paf/graphics.h b/include/user/paf/graphics.h new file mode 100644 index 0000000..33889ee --- /dev/null +++ b/include/user/paf/graphics.h @@ -0,0 +1,32 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_GRAPHICS_H +#define _VDSUITE_USER_PAF_GRAPHICS_H + +#include <scetypes.h> + +namespace paf { + namespace graphics { + + class Texture + { + public: + + Texture() { }; + + ~Texture() { }; + + + + private: + + SceUChar8 unk[0x4]; + + }; + + } +} + +#endif /* _VDSUITE_USER_PAF_GRAPHICS_H */ diff --git a/include/user/paf/misc.h b/include/user/paf/misc.h new file mode 100644 index 0000000..8b0d8db --- /dev/null +++ b/include/user/paf/misc.h @@ -0,0 +1,45 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_MISC_H +#define _VDSUITE_USER_PAF_MISC_H + +#include <libsha1.h> + +namespace paf { + + namespace misc { + + class Misc + { + public: + + Misc(); + + ~Misc(); + + static SceBool IsDolce(); + }; + + class Sha1 + { + public: + + Sha1(); + + ~Sha1() { }; + + SceInt32 BlockUpdate(const ScePVoid plain, SceUInt32 len); + + SceInt32 BlockResult(SceUChar8 *digest); + + private: + + SceSha1Context m_sha; + + }; + } +} + +#endif /* _VDSUITE_USER_PAF_MISC_H */ diff --git a/include/user/paf/resource.h b/include/user/paf/resource.h new file mode 100644 index 0000000..156320f --- /dev/null +++ b/include/user/paf/resource.h @@ -0,0 +1,44 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_RESOURCE_H +#define _VDSUITE_USER_PAF_RESOURCE_H + +#include <kernel.h> +#include <paf/common.h> + +namespace paf { + + class Resource + { + public: + + Resource(); + + ~Resource(); + + class Element + { + public: + + Element() : hash(0) + { + + } + + ~Element() + { + + } + + SceUInt32 GetHashByName(Element *src); + + paf::String name; + SceUInt32 hash; + }; + }; + +} + +#endif /* _VDSUITE_USER_PAF_RESOURCE_H */ diff --git a/include/user/paf/stdc.h b/include/user/paf/stdc.h new file mode 100644 index 0000000..1f72ced --- /dev/null +++ b/include/user/paf/stdc.h @@ -0,0 +1,76 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_STDC_H +#define _VDSUITE_USER_PAF_STDC_H + +#include <stdarg.h> +#include <wchar.h> +#include <scetypes.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * std C functions + */ + +void *sce_paf_bzero(void *ptr, SceSize num); +void *sce_paf_memchr(const void *ptr, int value, SceSize num); +int sce_paf_memcmp(const void *ptr1, const void *ptr2, SceSize num); +int sce_paf_bcmp(const void *ptr1, const void *ptr2, SceSize num); +void *sce_paf_memcpy(void *destination, const void *source, SceSize num); +void *sce_paf_memmove(void *destination, const void *source, SceSize num); +void *sce_paf_bcopy(void *destination, const void *source, SceSize num); +void *sce_paf_memset(void *ptr, int value, SceSize num); +int sce_paf_snprintf(char *s, SceSize n, const char *format, ...); +int sce_paf_strcasecmp(const char *str1, const char *str2); +char *sce_paf_strchr(const char *str, int character); +int sce_paf_strcmp(const char *str1, const char *str2); +size_t sce_paf_strlen(const char *str); +int sce_paf_strncasecmp(const char *str1, const char *str2, SceSize num); +int sce_paf_strncmp(const char *str1, const char *str2, SceSize num); +char *sce_paf_strncpy(char *destination, const char *source, SceSize num); +char *sce_paf_strrchr(const char *str, int character); + +/** + * wchar functions + */ + +/* __attribute__((__format__(__wprintf__, 3, 4))) */ +int sce_paf_swprintf(wchar_t *buffer, size_t bufsz, const wchar_t *format, ...); + +int sce_paf_vswprintf(wchar_t *buffer, size_t bufsz, const wchar_t *format, va_list vlist); + +wint_t sce_paf_towlower(wint_t wc); + +wchar_t *sce_paf_wcscat(wchar_t *dest, const wchar_t *src); +wchar_t *sce_paf_wcsncat(wchar_t *dest, const wchar_t *src, size_t count); +wchar_t *sce_paf_wcscpy(wchar_t *dest, const wchar_t *src); +wchar_t *sce_paf_wcsncpy(wchar_t *dest, const wchar_t *src, size_t count); + +int sce_paf_wcscasecmp(const wchar_t *s1, const wchar_t *s2); +wchar_t *sce_paf_wcschr(const wchar_t *str, wchar_t ch); +int sce_paf_wcscmp(const wchar_t *lhs, const wchar_t *rhs); +size_t sce_paf_wcscspn(const wchar_t *dest, const wchar_t *src); +size_t sce_paf_wcslen(const wchar_t *str); +int sce_paf_wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n); +int sce_paf_wcsncmp(const wchar_t *lhs, const wchar_t *rhs, size_t count); +size_t sce_paf_wcsnlen(const wchar_t *s, size_t maxlen); +wchar_t *sce_paf_wcspbrk(const wchar_t *dest, const wchar_t *str); +wchar_t *sce_paf_wcsrchr(const wchar_t *str, wchar_t ch); +size_t sce_paf_wcsspn(const wchar_t *dest, const wchar_t *src); + +wchar_t *sce_paf_wmemchr(const wchar_t *ptr, wchar_t ch, size_t count); +int sce_paf_wmemcmp(const wchar_t *lhs, const wchar_t *rhs, size_t count); +wchar_t *sce_paf_wmemcpy(wchar_t *dest, const wchar_t *src, size_t count); +wchar_t *sce_paf_wmemmove(wchar_t *dest, const wchar_t *src, size_t count); + +#ifdef __cplusplus +} +#endif + +#endif /* _VDSUITE_USER_PAF_STDC_H */ + diff --git a/include/user/paf/thread.h b/include/user/paf/thread.h index 481db69..3470f40 100644 --- a/include/user/paf/thread.h +++ b/include/user/paf/thread.h @@ -42,8 +42,9 @@ namespace paf { { public: - enum Error { - SCE_PAF_ERROR_THREADING_THREAD_ALREADY_STARTED = 0x80AF0702 + enum Error + { + SCE_PAF_ERROR_THREAD_THREAD_ALREADY_STARTED = 0x80AF0702 }; @@ -53,7 +54,7 @@ namespace paf { virtual SceVoid EntryFunction() = 0; - static SceInt32 InternalThreadEntry(SceSize argSize, void *pArgBlock); + static SceInt32 InternalThreadEntry(SceSize argSize, ScePVoid pArgBlock); static SceVoid SetMainThreadUID(SceInt32 threadNum = 0); @@ -193,9 +194,11 @@ namespace paf { ~Queue(); + static Queue *s_mainThreadQueue; + SceVoid WaitDone(); - SceVoid Push(const char *pName, QueueEntryFunction entry, void *pArgBlock); + SceVoid Push(const char *pName, QueueEntryFunction entry, ScePVoid pArgBlock); SceVoid Execute(); @@ -217,7 +220,9 @@ namespace paf { ~SyncCall(); - SceVoid Push(SyncCallEntryFunction entry, void *pArgBlock); + static SyncCall *s_mainThreadSyncCall; + + SceVoid Push(SyncCallEntryFunction entry, ScePVoid pArgBlock); SceVoid Execute(); diff --git a/include/user/paf/toplevel.h b/include/user/paf/toplevel.h new file mode 100644 index 0000000..51c13ab --- /dev/null +++ b/include/user/paf/toplevel.h @@ -0,0 +1,169 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_TOPLEVEL_H +#define _VDSUITE_USER_PAF_TOPLEVEL_H + +#include <kernel.h> +#include <paf/common.h> +#include <paf/resource.h> +#include <paf/widget.h> + +namespace paf { + + class Plugin + { + public: + + typedef void(*PluginCB)(Plugin *plugin); + + Plugin() {}; + + ~Plugin() {}; + + class RootWidgetInitParam + { + public: + + RootWidgetInitParam(); + + ~RootWidgetInitParam() { } ; + + SceInt32 unk_00; + SceInt32 unk_04; + SceInt32 unk_08; + SceUChar8 unk_0C[0x20]; + }; + + static Plugin *GetByName(const char *pluginName); + + ui::Widget *SetRootWidget(paf::Resource::Element *widgetInfo, RootWidgetInitParam *initParam); + + private: + + SceUChar8 m_unk[0x4]; //size is unknown + + }; + + class Framework + { + public: + + enum ApplicationMode + { + Mode_ApplicationDefault, + Mode_Application, + Mode_ApplicationA, + Mode_ApplicationB, + Mode_ApplicationC, + Mode_ApplicationD + }; + + static Framework *s_frameworkInstance; + + class InitParam + { + public: + + InitParam(); + + ~InitParam() { }; + + InitParam *LoadDefaultParams(); + + SceUInt32 unk_00; + SceUInt32 gxmParameterBufferSize; + + SceUChar8 unk0[0x10]; + + SceUInt32 textSurfaceCacheSize; + + SceUChar8 unk1[0x40]; + + SceUInt32 decodeHeapSize; + SceUInt32 defaultPluginHeapSize; + SceInt32 unused_68; + SceInt32 unused_6C; + ApplicationMode applicationMode; + SceInt32 optionalFeatureFlags; + SceInt32 language; + SceInt32 enterButtonAssign; + SceBool useAdditionalWidgetInit; + ScePVoid unk_84; + SceInt32 unused_88; + SceInt32 graphicsFlags; + + SceUChar8 unk2[0x134]; + }; + + class CommonResourceInitParam + { + public: + + CommonResourceInitParam(); + + ~CommonResourceInitParam() { }; + + paf::String resourcePath; + SceUChar8 unk_08[0x1C]; + }; + + class PluginInitParam //0x94 + { + public: + + PluginInitParam(); + + ~PluginInitParam() { }; + + paf::String pluginName; + paf::String scopeName; + paf::Plugin::PluginCB loadCB1; + paf::Plugin::PluginCB loadCB2; + paf::Plugin::PluginCB loadCB3; + paf::Plugin::PluginCB unloadCB1; + paf::Plugin::PluginCB unloadCB2; + paf::String resourcePath; + + SceUChar8 unk_38[0x5C]; + }; + + typedef void(*LoadCRFinishCallback)(); + typedef void(*LoadPluginFinishCallback)(Plugin *plugin); + typedef void(*UnloadPluginFinishCallback)(Plugin *plugin); + + Framework(InitParam *fwInitParam); + + ~Framework(); + + static SceUInt32 GetFwLangBySystemLang(SceUInt32 systemLanguage); + + static SceVoid LoadPluginAsync(PluginInitParam *initParam, LoadPluginFinishCallback finishCallback = SCE_NULL, UnloadPluginFinishCallback unloadFinishCallback = SCE_NULL); + + static SceVoid LoadPlugin(PluginInitParam *initParam, LoadPluginFinishCallback finishCallback = SCE_NULL, UnloadPluginFinishCallback unloadFinishCallback = SCE_NULL); + + SceVoid _LoadPluginAsync(PluginInitParam *initParam, LoadPluginFinishCallback finishCallback = SCE_NULL, UnloadPluginFinishCallback unloadFinishCallback = SCE_NULL); + + SceInt32 EnterRenderingLoop(); + + SceVoid ExitRenderingLoop(); + + SceVoid LoadCommonResourceAsync(LoadCRFinishCallback finishCallback = SCE_NULL); + + SceVoid LoadCommonResourceAsync(CommonResourceInitParam *initParam, LoadCRFinishCallback finishCallback = SCE_NULL); + + SceVoid LoadCommonResource(LoadCRFinishCallback finishCallback = SCE_NULL); + + SceVoid LoadCommonResource(CommonResourceInitParam *initParam, LoadCRFinishCallback finishCallback = SCE_NULL); + + Plugin *FindPluginByName(const char *pluginName, SceBool enableSomeCheck = SCE_FALSE); + + private: + + SceUChar8 m_work[0x7C]; + + }; +} + +#endif /* _VDSUITE_USER_PAF_TOPLEVEL_H */ diff --git a/include/user/paf/widget.h b/include/user/paf/widget.h new file mode 100644 index 0000000..1fe0900 --- /dev/null +++ b/include/user/paf/widget.h @@ -0,0 +1,267 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_WIDGET_H +#define _VDSUITE_USER_PAF_WIDGET_H + +#include <scetypes.h> +#include <paf/resource.h> + +namespace paf { + namespace ui { + + class Widget + { + public: + + enum Error //placeholder names + { + SCE_PAF_ERROR_UI_WIDGET_COLOR_ERROR = 0x80AF0022 + }; + + class EventCallback + { + public: + + enum Error + { + SCE_PAF_ERROR_UI_WIDGET_EVENT_CALLBACK_UNHANDLED = 0x80AF4101 + }; + + typedef void(*EventHandler)(SceInt32 eventId, Widget *self, SceInt32, ScePVoid pUserData); + + EventCallback() : state(2), pUserData(SCE_NULL) + { + + }; + + virtual ~EventCallback() + { + + }; + + virtual SceInt32 HandleEvent(SceInt32 eventId, Widget *self, SceInt32 a3) + { + SceInt32 ret; + + if ((this->state & 1) == 0) { + if (this->eventHandler != 0) { + this->eventHandler(eventId, self, a3, this->pUserData); + } + ret = 0; + } + else { + ret = SCE_PAF_ERROR_UI_WIDGET_EVENT_CALLBACK_UNHANDLED; + } + + return ret; + }; + + virtual EventHandler f2() + { + return this->eventHandler; + }; + + SceInt32 state; + ScePVoid pUserData; + EventHandler eventHandler; + + }; + + class Color + { + public: + + enum Type + { + Unk0, + Unk1, + Text, + TextShadow, + Background, + Unk5 + }; + + Color() : r(0.0), g(0.0), b(0.0), a(0.0) + { + + }; + + ~Color() + { + + }; + + SceFloat32 r; + SceFloat32 g; + SceFloat32 b; + SceFloat32 a; + }; + + Widget() {}; + + ~Widget() {}; + + SceInt32 SetColor(Color::Type type, SceInt32 a2, SceInt32 a3, const Color *pColor); + + enum Option + { + TextBold = 0x7, + TextShadow = 0xC, + TextExternalLine = 0xD + }; + + SceInt32 SetOption(Option option, SceInt32 a2, SceInt32 a3, SceBool enable); + + SceInt32 SetFontSize(SceFloat32 size, SceInt32 a2, SceSize pos, SceSize len); + + Widget *FindByHash(paf::Resource::Element *widgetInfo, SceUInt32 param); //param can be 0,1,2 + + SceInt32 SetPosition(SceFVector4 *position, SceFloat32 a2, SceInt32 a3, SceInt32 a4, SceInt32 a5, SceInt32 a6, SceInt32 a7); + + SceInt32 SetSize(SceFVector4 *size, SceFloat32 a2, SceInt32 a3, SceInt32 a4, SceInt32 a5, SceInt32 a6, SceInt32 a7); + + SceInt32 RegisterEventCallback(SceInt32 eventId, EventCallback *cb, SceBool a3); + + SceInt32 UnregisterEventCallback(SceInt32 eventId, SceInt32 a2, SceInt32 a3); + + SceInt32 RegisterLoopEventCallback(SceInt32 eventId, EventCallback *cb); + + SceInt32 AddEffect(SceInt32 effId, SceInt32 a2); + + //ScePafWidget_44B22ACA static + //ScePafWidget_F1176ACC + /*SceInt32 Test1(SceInt32, SceInt32, SceInt32); + static SceInt32 Test2(SceInt32, Widget*, SceInt32, SceInt32, SceInt32); + + SceInt32 Test3(SceInt32); + + SceInt32 Test4(SceFVector4 *size, SceInt32 a2, SceInt32 a3);*/ + + private: + + SceUChar8 unk[0x2D4]; + + }; + + class Label : public Widget + { + public: + + Label(Widget *parentWidget, SceInt32 flags); //flags: 0,2 or 4 + + virtual ~Label(); + + //109 virtual functions here + virtual int unkFun_008(); + virtual int unkFun_00C(); + virtual int unkFun_010(); + virtual int unkFun_014(); + virtual int unkFun_018(); + virtual int unkFun_01C(); + virtual int unkFun_020(); + virtual int unkFun_024(); + virtual int unkFun_028(); + virtual int unkFun_02C(); + virtual int unkFun_030(); + virtual int unkFun_034(); + virtual int unkFun_038(); + virtual int unkFun_03C(); + virtual int unkFun_040(); + virtual int unkFun_044(); + virtual int unkFun_048(); + virtual int unkFun_04C(); + virtual int unkFun_050(); + virtual int unkFun_054(); + virtual int unkFun_058(); + virtual int unkFun_05C(); + virtual int unkFun_060(); + virtual int unkFun_064(); + virtual int unkFun_068(); + virtual int unkFun_06C(); + virtual int unkFun_070(); + virtual int unkFun_074(); + virtual int unkFun_078(); + virtual int unkFun_07C(); + virtual int unkFun_080(); + virtual int unkFun_084(); + virtual int unkFun_088(); + virtual int unkFun_08C(); + virtual int unkFun_090(); + virtual int unkFun_094(); + virtual int unkFun_098(); + virtual int unkFun_09C(); + virtual int unkFun_0A0(); + virtual int unkFun_0A4(); + virtual int unkFun_0A8(); + virtual int unkFun_0AC(); + virtual int unkFun_0B0(); + virtual int unkFun_0B4(); + virtual int unkFun_0B8(); + virtual int unkFun_0BC(); + virtual int unkFun_0C0(); + virtual int unkFun_0C4(); + virtual int unkFun_0C8(); + virtual int unkFun_0CC(); + virtual int unkFun_0D0(); + virtual int unkFun_0D4(); + virtual int unkFun_0D8(); + virtual int unkFun_0DC(); + virtual int unkFun_0E0(); + virtual int unkFun_0E4(); + virtual int unkFun_0E8(); + virtual int unkFun_0EC(); + virtual int unkFun_0F0(); + virtual int unkFun_0F4(); + virtual int unkFun_0F8(); + virtual int unkFun_0FC(); + virtual int unkFun_100(); + virtual int unkFun_104(); + virtual int unkFun_108(); + virtual int unkFun_10C(); + virtual int unkFun_110(); + virtual int unkFun_114(); + virtual int unkFun_118(); + virtual SceInt32 SetText(paf::WString *text); //ScePafWidget_922FF349 + virtual int unkFun_120(); + virtual int unkFun_124(); + virtual int unkFun_128(); + virtual int unkFun_12C(); + virtual int unkFun_130(); + virtual int unkFun_134(); + virtual int unkFun_138(); + virtual int unkFun_13C(); + virtual int unkFun_140(); + virtual int unkFun_144(); + virtual int unkFun_148(); + virtual int unkFun_14C(); + virtual int unkFun_150(); + virtual int unkFun_154(); + virtual int unkFun_158(); + virtual int unkFun_15C(); + virtual int unkFun_160(); + virtual int unkFun_164(); + virtual int unkFun_168(); + virtual int unkFun_16C(); + virtual int unkFun_170(); + virtual int unkFun_174(); + virtual int unkFun_178(); + virtual int unkFun_17C(); + virtual int unkFun_180(); + virtual int unkFun_184(); + virtual int unkFun_188(); + virtual int unkFun_18C(); + virtual int unkFun_190(); + virtual int unkFun_194(); + virtual int unkFun_198(); + virtual int unkFun_19C(); + virtual int unkFun_1A0(); + virtual int unkFun_1A4(); + virtual int unkFun_1A8(); + + }; + } +} + +#endif /* _VDSUITE_USER_PAF_WIDGET_H */ |