diff options
author | GrapheneCt | 2021-07-15 18:41:46 -0400 |
---|---|---|
committer | Reiko Asakura | 2021-07-15 19:07:55 -0400 |
commit | 68c1219eb513acc2f24b2d41f84ded4cc2e9fab6 (patch) | |
tree | d96eb4a38a4eef4e6113c79285c93b2a27abbc9a | |
parent | Add prototype for sceKernelIsAccessibleRangeProc (diff) | |
download | vds-libraries-68c1219eb513acc2f24b2d41f84ded4cc2e9fab6.tar.gz |
Update ScePaf
-rw-r--r-- | include/user/paf.h | 3 | ||||
-rw-r--r-- | include/user/paf/common.h | 332 | ||||
-rw-r--r-- | include/user/paf/graphics.h | 275 | ||||
-rw-r--r-- | include/user/paf/lowlayer.h | 25 | ||||
-rw-r--r-- | include/user/paf/misc.h | 378 | ||||
-rw-r--r-- | include/user/paf/stdc.h | 15 | ||||
-rw-r--r-- | include/user/paf/thread.h | 21 | ||||
-rw-r--r-- | include/user/paf/toplevel.h | 108 | ||||
-rw-r--r-- | include/user/paf/widget.h | 198 | ||||
-rw-r--r-- | nids/360/ScePaf.yml | 230 |
10 files changed, 1361 insertions, 224 deletions
diff --git a/include/user/paf.h b/include/user/paf.h index b0cc028..944616d 100644 --- a/include/user/paf.h +++ b/include/user/paf.h @@ -59,9 +59,11 @@ namespace paf { namespace graphics { + class TextObj; class MemoryPool; class Surface; class Texture; + class DrawQueue; } namespace datetime { @@ -102,6 +104,7 @@ namespace paf { #include <paf/misc.h> #include <paf/resource.h> #include <paf/thread.h> +#include <paf/lowlayer.h> #endif /* _VDSUITE_USER_PAF_H */ diff --git a/include/user/paf/common.h b/include/user/paf/common.h index e3ecda5..67d6e5e 100644 --- a/include/user/paf/common.h +++ b/include/user/paf/common.h @@ -10,27 +10,12 @@ namespace paf { - class String; - class WString; - namespace widget { class Widget; } - namespace common { - - enum CesFlags - { - AllowIllegalCode = 0x2, - AllowOutOfCodeRange = 0x4, - AllowInvalidEncode = 0x8, - AllowSrcBufferEnd = 0x10 - }; - - static paf::widget::Widget *WidgetStateTransition(SceFloat32 delay, paf::widget::Widget *widget, SceUInt32 animationId, SceBool disableOnEnd, SceBool skipAnimation); - static paf::widget::Widget *WidgetStateTransitionReverse(SceFloat32 delay, paf::widget::Widget *widget, SceUInt32 animationId, SceBool disableOnEnd, SceBool skipAnimation); - } - + class String; + class WString; class String { @@ -46,7 +31,7 @@ namespace paf { ~String() { - if (length != 0 && *data != 0) + if (length != 0 && data != &null) delete data; } @@ -60,65 +45,150 @@ namespace paf { SceSSize ToWString(paf::WString *dst, SceUInt32 flags); - String *Set(const char *s, SceSize srcLength) + SceVoid MemsizeFormat(SceSize memsize); + + SceVoid Setf(const char *format, ...); + + SceVoid Set(const char* c, SceInt32 len) { - if (data == s) - return this; + Clear(); - if (*data != 0) - delete data; + if (!len) + { + SetEmpty(); - if (srcLength == 0 || s == SCE_NULL || s[0] == 0) { - String(); - return this; + return; } - data = new char[srcLength + 1]; - length = srcLength; - sce_paf_memcpy(data, s, length); - data[length] = 0; + Copy(c, len); + } - return this; - }; + SceVoid Set(const char* c) + { + SceInt32 len = sce_paf_strlen(c); + + Clear(); + + if (!len) + { + SetEmpty(); + + return; + } + + Copy(c, len); + } + + SceVoid Clear() + { + if (IsEmpty()) + { + return; + } + + delete data; - String *Set(const char *s) + SetEmpty(); + } + + String *operator=(const char* c) { - Set(s, sce_paf_strlen(s)); + Clear(); + + Copy(c, sce_paf_strlen(c)); return this; - }; + } String *operator=(const String *s) { - if (data == s->data) - return this; + Clear(); - if (s->length == 0) { - String(); - return this; + Copy(s->data, s->length); + return this; + } + + String operator+(const String *s) const + { + SceInt32 len1 = length; + SceInt32 len2 = s->length; + + if (!len1 && !len2) + { + String ret; + return ret; } - data = new char[s->length + 1]; - length = s->length; - sce_paf_memcpy(data, s->data, s->length + 1); + char* newptr = new char[len1 + len2 + 1]; - return this; + if (newptr == SCE_NULL) + { + String ret; + return ret; + } + + sce_paf_memcpy(newptr, data, sizeof(char) * len1); + sce_paf_memcpy(&newptr[len1], s->data, sizeof(char) * (s->length + 1)); + + String ret(newptr, len1 + len2); + delete newptr; + + return ret; } - String *operator+(const String *s) const + String operator+(const char* c) const { - String *newStr = new String; + SceInt32 len1 = length; + SceInt32 len2 = sce_paf_strlen(c); - if (!length && !s->length) + char* newptr = new char[len1 + len2 + 1]; + + if (newptr == SCE_NULL) { - return newStr; + String ret; + return ret; } - 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; + sce_paf_memcpy(newptr, data, sizeof(char) * len1); + sce_paf_memcpy(&newptr[len1], c, sizeof(char) * (len2 + 1)); + + String ret(newptr, len1 + len2); + delete newptr; + + return ret; + } + + String *operator+=(const String *s) + { + char* newptr = SCE_NULL; + SceInt32 len1 = length; + + newptr = new char[length + s->length + 1]; + + sce_paf_memcpy(newptr, data, len1); + sce_paf_memcpy(&newptr[len1], s->data, s->length + 1); + + Clear(); + Set(newptr, len1 + s->length); + delete newptr; + + return this; + } + + String *operator+=(const char* c) + { + SceInt32 len1 = length; + SceInt32 len2 = sce_paf_strlen(c); + + char* newptr = new char[len1 + len2 + 1]; + + sce_paf_memcpy(newptr, data, len1); + sce_paf_memcpy(&newptr[len1], c, len2 + 1); + + Clear(); + Set(newptr, len1 + len2); + delete newptr; + + return this; } SceBool operator==(const String *s) const @@ -126,20 +196,90 @@ namespace paf { if (s->length != length) return SCE_FALSE; - if (!sce_paf_strncmp(s->data, data, length)) + if (sce_paf_strncmp(data, s->data, length)) + return SCE_FALSE; + + return SCE_TRUE; + } + + SceBool operator==(const char* rc) const + { + if (sce_paf_strlen(rc) != length) + return SCE_FALSE; + + if (sce_paf_strncmp(data, rc, length)) + return SCE_FALSE; + + return SCE_TRUE; + } + + SceBool operator<(const String *s) const + { + return sce_paf_strcmp(data, s->data) < 0; + } + + SceBool operator<(const char* c) const + { + return sce_paf_strcmp(data, c) < 0; + } + + SceBool operator>(const String *s) const + { + return sce_paf_strcmp(data, s->data) > 0; + } + + SceBool operator>(const char* c) const + { + return sce_paf_strcmp(data, c) > 0; + } + + String *Append(const char* c, SceInt32 len2) + { + SceInt32 len1 = length; + + char *newptr = new char[len1 + len2 + 1]; + + sce_paf_memcpy(newptr, data, len1); + sce_paf_memcpy(&newptr[len1], c, len2); + + Clear(); + Set(newptr, len1 + len2); + delete newptr; + + return this; + } + + SceVoid Copy(const char* c, SceInt32 cLength) + { + if (!cLength) + { + return; + } + + length = cLength; + + data = new char[length + 1]; + + sce_paf_memcpy(data, c, cLength); + data[cLength] = 0; + } + + SceBool IsEmpty() const + { + if (data == &null && length == 0) return SCE_TRUE; else return SCE_FALSE; } - SceVoid Clear() + SceVoid SetEmpty() { - if (length != 0 && data != SCE_NULL) { - delete data; - String(); - } + data = &null; + length = 0; } + static char null; + char *data; SceSize length; @@ -153,12 +293,12 @@ namespace paf { { public: - WString() : data(SCE_NULL), length(0) + WString() : data(&null), length(0) { } - WString(const SceWChar16 *s, SceSize srcLength) : data(SCE_NULL), length(0) + WString(const SceWChar16 *s, SceSize srcLength) : data(&null), length(0) { if (srcLength == 0 || s == SCE_NULL || s[0] == 0) { return; @@ -172,7 +312,7 @@ namespace paf { return; } - WString(const SceWChar16 *s) : data(SCE_NULL), length(0) + WString(const SceWChar16 *s) : data(&null), length(0) { SceSize srcLength = sce_paf_wcslen((wchar_t*)s); @@ -190,7 +330,7 @@ namespace paf { ~WString() { - if (length != 0 && data != SCE_NULL) + if (length != 0 && data != &null) delete data; } @@ -209,11 +349,11 @@ namespace paf { if (data == s) return this; - if (data != SCE_NULL) + if (data != &null) delete data; if (srcLength == 0 || s == SCE_NULL || s[0] == 0) { - data = SCE_NULL; + data = &null; length = 0; return this; } @@ -232,13 +372,29 @@ namespace paf { return this; }; + WString *Append(const SceWChar16 *c, SceInt32 len2) + { + SceInt32 len1 = length; + + SceWChar16 *newptr = new SceWChar16[len1 + len2 + 1]; + + sce_paf_wmemcpy((wchar_t *)newptr, (wchar_t *)data, len1); + sce_paf_wmemcpy((wchar_t *)&newptr[len1], (wchar_t *)c, len2); + + Clear(); + Set(newptr, len1 + len2); + delete newptr; + + return this; + } + WString *operator=(const WString *s) { if (data == s->data) return this; if (s->length == 0) { - data = SCE_NULL; + data = &null; length = 0; return this; } @@ -280,13 +436,15 @@ namespace paf { SceVoid Clear() { - if (length != 0 && data != SCE_NULL) { + if (length != 0 && data != &null) { delete data; length = 0; - data = SCE_NULL; + data = &null; } } + static SceWChar16 null; + SceWChar16 *data; SceSize length; @@ -295,21 +453,49 @@ namespace paf { SceUInt32 m_work; }; + class SWString + { + public: + + SWString(); + + SWString(const char *str); + + SWString(const SceWChar16 *str); + + SWString(String *src); + + SWString(WString *src); + + ~SWString(); + + String string; + WString wstring; + }; + namespace common { class Utils { public: - typedef void(*MainThreadTaskEntryFunction)(void *pArgBlock); - - Utils(); + enum CesFlags + { + AllowIllegalCode = 0x2, + AllowOutOfCodeRange = 0x4, + AllowInvalidEncode = 0x8, + AllowSrcBufferEnd = 0x10 + }; - ~Utils(); + typedef void(*MainThreadTaskEntryFunction)(void *pArgBlock); static SceVoid AddMainThreadTask(MainThreadTaskEntryFunction entry, ScePVoid pArgBlock); static SceVoid RemoveMainThreadTask(MainThreadTaskEntryFunction entry, ScePVoid pArgBlock); + + static paf::widget::Widget *WidgetStateTransition(SceFloat32 animationSpeed, paf::widget::Widget *widget, SceUInt32 animationId, SceBool disableOnEnd, SceBool skipAnimation); + + static paf::widget::Widget *WidgetStateTransitionReverse(SceFloat32 animationSpeed, paf::widget::Widget *widget, SceUInt32 animationId, SceBool disableOnEnd, SceBool skipAnimation); }; } diff --git a/include/user/paf/graphics.h b/include/user/paf/graphics.h index 101a94a..4338e43 100644 --- a/include/user/paf/graphics.h +++ b/include/user/paf/graphics.h @@ -14,10 +14,74 @@ namespace paf { namespace graphics { + class TextObj + { + public: + + //ScePafGraphics_F201F98D c1 + //ScePafGraphics_29013890 c2 + TextObj(SceInt32 *flags); + + //ScePafGraphics_FA7B17C2 d2 + //ScePafGraphics_8021A2B3 d0 + //ScePafGraphics_919B8983 d1 + virtual ~TextObj(); + + virtual SceBool ContainsType(const char *pTypeName); + virtual char *GetType(); + virtual SceInt32 unkFun_08(); + virtual SceInt32 unkFun_0C(); // D0, why is it here? + virtual SceInt32 unkFun_10(); + virtual SceInt32 unkFun_14(); + virtual SceInt32 unkFun_18(); // test + virtual SceInt32 unkFun_1C(); + virtual SceInt32 unkFun_20(); + virtual SceInt32 unkFun_24(); + virtual SceInt32 unkFun_28(); + virtual SceInt32 unkFun_2C(); + virtual SceInt32 unkFun_30(); + virtual SceInt32 unkFun_34(); + virtual SceInt32 unkFun_38(); // test + virtual SceInt32 unkFun_3C(); // test + virtual SceInt32 unkFun_40(); + virtual SceInt32 unkFun_44(); + + //ScePafGraphics_1BDA4425 + SceInt32 GetLabel(WString *pText); + + //ScePafGraphics_AE415C90 + SceInt32 SetLabel(WString *pText); + + //ScePafGraphics_DC2C405E + SceInt32 SetPlaceholderLabel(WString *pText); + + //ScePafGraphics_D3BEDF03 + SceInt32 GetPlaceholderLabel(WString *pText); + + SceInt32 GetLength(SceUInt32 *pLength); + + //ScePafGraphics_67094D42 + SceInt32 GetDataAndLength(SceWChar16 **ppData, SceUInt32 *pLength); + + static SceInt32 *s_defaultTextObjFlags; + + private: + + SceUChar8 unk_00[0x58]; + + }; + class MemoryPool { public: + enum MemoryType + { + MemoryType_UserNC, + MemoryType_CDRAM, + MemoryType_Shared, + }; + class InitParam { public: @@ -40,17 +104,10 @@ namespace paf { virtual int unkf2(); virtual int unkf3(); - enum MemoryType - { - MemoryType_UserNC, - MemoryType_CDRAM, - MemoryType_Shared, - }; - enum MemoryTypeSpecial { MemoryTypeSpecial_Unused, - MemoryTypeSpecial_Unk0xCF08060, + MemoryTypeSpecial_Tool, MemoryTypeSpecial_Phycont }; @@ -59,7 +116,7 @@ namespace paf { GpuMapType_Normal, GpuMapType_VertexUsse, GpuMapType_FragmentUsse, - GpuMapType_NoMap, + GpuMapType_NoMap }; class MemBlockOptParam @@ -90,6 +147,47 @@ namespace paf { { public: + class GxmTexture + { + public: + + SceGxmTexture *texture; + SceInt32 unk_04; + }; + + class Base + { + public: + + Base *prev; + Base *next; + SceInt32 lock; + SceUInt16 width; + SceUInt16 height; + SceInt32 texType; // linear/swizzled/tiled + SceInt32 unk_14; + SceInt32 unk_18; + SceUInt16 widthAligned; + SceUInt16 heightAligned; + SceFloat32 xScale; + SceFloat32 yScale; + SceInt32 pixels; + SceUInt16 width3; + SceUInt16 unk_3e; + SceInt32 unk_30; + GxmTexture *texture; + SceGxmTextureFilter magFilter; + SceGxmTextureFilter minFilter; + SceGxmTextureFilter mipFilter; + SceGxmTextureAddrMode uaddrMode; + SceGxmTextureAddrMode vaddrMode; + SceUInt32 lodBias; + SceInt32 unk_50; + SceInt32 unk_54; + SceInt32 unk_58; + ScePVoid gxmData; + }; + Surface(MemoryPool *pMemPool, SceUInt32 width, SceUInt32 height, SceUInt32 format, SceUInt32 orderType, SceInt32 a7, SceUInt32 numLevel, SceInt32 a9); virtual ~Surface(); @@ -109,9 +207,31 @@ namespace paf { void operator delete(void*); + //ScePafGraphics_E57728C4 + static SceInt32 Copy(Surface *dst, SceInt32 a2, Surface *src, SceUInt32 srcOrderType, SceSize copySize, SceInt32 a6 = -1); + + SceInt32 GetLock(); + + //ScePafGraphics_879B135D + ScePVoid GetGxmData(); + + //ScePafGraphics_D075A824 + SceInt32 ReplaceData(SceGxmTexture **tex, const ScePVoid data); + + //ScePafGraphics_3B5327DF + SceUInt32 GetPixelCount(); + + //ScePafGraphics_804E92B1 + SceInt32 ApplyFilters(); + + SceInt32 texFormat; + SceInt32 unk_08; + SceInt32 unk_0C; + Base base; + private: - SceUChar8 m_work[0x44]; + SceUChar8 m_work[0x24]; }; @@ -123,14 +243,145 @@ namespace paf { ~Texture() { }; + static SceVoid CreateFromFile(Texture *tex, MemoryPool *memPool, paf::Misc::OpenResult *file, ScePVoid fwOpt = SCE_NULL); + + static SceVoid CreateFromMemory(Texture *tex, MemoryPool *memPool, ScePVoid ptr, SceInt32 unused_1, SceSize size, SceInt32 unused_2 = 0, ScePVoid fwOpt = SCE_NULL); + Surface *texSurface; - private: + ScePVoid unk; + }; + + class FwGraphicsContext + { + public: + + class ShaderPatcher { + public: + + SceGxmShaderPatcher *shaderPatcher; + + //more? + }; + + enum Target + { + Target_None, + Target_Front, + Target_Back + }; + + static FwGraphicsContext *GetFwGraphicsContext(); + + //ScePafGraphics_E4B3B1D2 + SceVoid Finish(); + + //ScePafGraphics_751FC8E6 + SceInt32 BeginScene(const SceGxmRenderTarget *renderTarget, SceGxmSyncObject *fragmentSyncObject, const SceGxmColorSurface *colorSurface, const SceGxmDepthStencilSurface *depthStencilSurface, SceUInt32 flags); + + //ScePafGraphics_D5E30C64 + SceInt32 EndScene(const SceGxmNotification *vertexNotification, const SceGxmNotification *fragmentNotification); + + //ScePafGraphics_6E7B77AC + SceVoid SetWClampValue(float clampValue); + + //ScePafGraphics_84619C66 + SceVoid SetPolygonMode(SceGxmPolygonMode mode, SceUInt32 target); + + //ScePafGraphics_D9EA2729 + SceVoid SetPointLineWidth(SceFloat32 width, SceUInt32 target); + + //ScePafGraphics_9EAD43B5 + SceVoid SetPointLineWidth2(SceFloat32 width, SceUInt32 target); + + //ScePafGraphics_DAC195AC + SceVoid SetStencilFunc(SceGxmStencilFunc func, SceGxmStencilOp stencilFail, SceGxmStencilOp depthFail, SceGxmStencilOp depthPass, uint8_t compareMask, uint8_t writeMask, SceUInt32 target); + + //ScePafGraphics_722A4987 + SceVoid SetCullMode(SceGxmCullMode mode); + + //ScePafGraphics_7EC1D482 + SceVoid SetDepthFunc(SceGxmDepthFunc depthFunc, SceUInt32 target); + + //ScePafGraphics_2AE23377 + SceVoid SetDepthWriteEnable(SceGxmDepthWriteMode enable, SceUInt32 target); - SceUChar8 unk[0x4]; + //ScePafGraphics_5F8FDEC7 + SceVoid ResetParam(SceUInt32 targetParam); + SceUChar8 unk_000[0x61C]; + + ShaderPatcher *shaderPatcher; + + SceUChar8 unk_620[0x6C]; + + SceGxmContext *gxmContext; + + SceUChar8 unk_690[0xD4]; + + SceUInt8 frontDepthWriteEnabled; + SceUInt8 backDepthWriteEnabled; + + SceUInt16 unk_766; + + SceGxmCullMode cullMode; }; + class DrawQueue + { + public: + + class Item; + + class Request + { + public: + + typedef void(*RequestEntryFunction)(Item *job); + + Item *job; + SceInt32 unk_04; + SceInt32 unk_08; + RequestEntryFunction entry; + + }; + + class Item + { + public: + + Item() { }; + + virtual ~Item() { }; + + virtual SceVoid DrawCB() = 0; + + virtual SceVoid UnkCB2() = 0; + + virtual SceVoid UnkCB3() = 0; + + Request *req; + + private: + + SceUChar8 m_work[0x0C]; + + }; + + class ItemParam + { + public: + + Item *item; + Request *request; + }; + + DrawQueue() { }; + + ~DrawQueue() { }; + + SceInt32 SetDrawJob(ItemParam *queueItemParam); + }; } } diff --git a/include/user/paf/lowlayer.h b/include/user/paf/lowlayer.h new file mode 100644 index 0000000..f92d871 --- /dev/null +++ b/include/user/paf/lowlayer.h @@ -0,0 +1,25 @@ +/* + Vita Development Suite Libraries +*/ + +#ifndef _VDSUITE_USER_PAF_LOWLAYER_H +#define _VDSUITE_USER_PAF_LOWLAYER_H + +#include <libdeflt.h> +#include <kernel.h> +#include <paf/common.h> + +namespace paf { + namespace lowlayer { + + class Deflt + { + public: + + static SceInt32 Decompress(ScePVoid pDst, SceUInt32 uiBufSize, const ScePVoid pSrcDeflate, const ScePVoid *ppNext); + }; + + } +} + +#endif /* _VDSUITE_USER_PAF_LOWLAYER_H */ diff --git a/include/user/paf/misc.h b/include/user/paf/misc.h index bf21a65..18925e0 100644 --- a/include/user/paf/misc.h +++ b/include/user/paf/misc.h @@ -12,7 +12,11 @@ namespace paf { - static SceBool IsDolce(); + namespace graphics { + class Texture; + } + + class Allocator; namespace datetime { @@ -87,50 +91,89 @@ namespace paf { } + class Http + { + public: + + Http(); + + ~Http() {}; + + SceVoid SetUrl(const char *url); + + SceVoid SetUrl(paf::String *url); + + SceInt32 SetUnk(SceInt32 a1, SceInt32 a2); + + private: + + SceUChar8 m_work[0xB4]; + + }; + namespace io { enum Error { - SCE_PAF_ERROR_MISC_IO_INVALID_POINTER = 0x80AF5901 + SCE_PAF_ERROR_MISC_IO_INVALID_POINTER = 0x80AF5901, + SCE_PAF_ERROR_MISC_IO_INVALID_ARGUMENT = 0x80AF5002, + SCE_PAF_ERROR_MISC_IO_OUT_OF_MEMORY = 0x80AF5003, + SCE_PAF_ERROR_MISC_IO_HTTP_NOT_SUPPORTED = 0x80AF5004, + SCE_PAF_ERROR_MISC_IO_MEM_NOT_SUPPORTED = 0x80AF5005, + SCE_PAF_ERROR_MISC_IO_FILE_NOT_FOUND = 0x80AF5022 }; - class File + enum Type + { + Type_Dir, + Type_File, + Type_Reg, + Type_Lnk + }; + + class AsyncResult { public: - class AsyncResult - { - public: + SceInt32 result; + SceInt32 unk_04; + }; - SceInt32 result; - SceInt32 unk_04; - }; + class File + { + public: File(); virtual ~File(); - virtual SceInt32 Open(const char *filename, int flag, SceIoMode mode); + virtual SceInt32 Open(const char *filename, SceInt32 flag, SceIoMode mode); virtual SceInt32 Close(); - virtual SceInt32 Read(void *buf, SceSize nbyte); - virtual SceInt32 Write(const void *buf, SceSize nbyte); - virtual SceInt32 Lseek(SceOff offset, int whence); + virtual SceInt32 Read(ScePVoid buf, SceSize nbyte); + virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte); + virtual SceOff Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL); virtual SceInt32 Sync(); - virtual SceInt32 OpenAsync(const char *filename, int flags, SceMode mode); + virtual SceInt32 OpenAsync(const char *filename, SceInt32 flag, SceMode mode); virtual SceInt32 CloseAsync(); - virtual SceInt32 ReadAsync(void *buf, SceSize nbyte); - virtual SceInt32 WriteAsync(const void *buf, SceSize nbyte); - virtual SceInt32 LseekAsync(SceInt32 a1, int whence, SceIoAsyncParam* asyncParam); + virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte); + virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte); + virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam); virtual SceInt32 SyncAsync(); virtual SceInt32 WaitAsync(AsyncResult *pResult); virtual SceInt32 PollAsync(AsyncResult *pResult); - virtual SceBool IsOpened(); - virtual SceInt32 unkFun_44(); + virtual SceBool IsOpened(); + virtual SceBool unkFun_44(); virtual SceInt32 CancelAsync(); - virtual SceOff GetSize(); - virtual SceInt32 GetStat(ScePVoid pafStat); + virtual SceOff GetSize(); + virtual SceInt32 GetStat(SceIoStat *stat); virtual SceInt32 SetPriority(SceUInt32 ioPriority); + static SceInt32 Rename(const char *oldname, const char *newname); + + static SceInt32 Remove(const char *path); + + static SceOff GetSize(const char *path); + private: SceUChar8 m_work[0x2C]; @@ -145,7 +188,7 @@ namespace paf { { public: - SceInt32 type; + Type type; paf::String name; SceInt32 size; SceUInt32 creationYear; @@ -165,26 +208,207 @@ namespace paf { }; - static SceInt32 SetDefaultPriority(SceUInt32 ioPriority); + class Mem + { + public: - static SceBool Exists(const char *path); + virtual SceInt32 unkFun_00(); + virtual ScePVoid GetMembase(); + virtual SceSize GetSize(); - static SceBool IsDir(const char *path); + virtual ~Mem(); - static SceInt32 Remove(const char *path); + private: - static SceInt32 RemoveRecursive(const char *path); + Mem(); - static SceInt32 Mkdir(const char *dirname, SceIoMode mode); + SceUChar8 m_work[0x0C]; + }; + + class Stat + { + public: + + static SceInt32 GetStat(const char *path, Stat *buf); + + static SceBool IsFileOrDir(const char *path); + + static SceBool IsFile(const char *path); + + static SceBool IsDir(const char *path); + + SceIoMode st_mode; + SceUInt32 st_attr; + SceOff st_size; + datetime::DateTime ctime; + SceUChar8 pad1[3]; + datetime::DateTime atime; + SceUChar8 pad2[3]; + datetime::DateTime mtime; + }; + + class Misc + { + public: + + static SceInt32 SetDefaultPriority(SceUInt32 ioPriority); + + static SceBool Exists(const char *path); + + static SceBool IsDir(const char *path); - static SceInt32 MkdirRWSYS(const char *dirname); + static SceOff GetSize(const char *path); - //dot-separated path list - static SceInt32 MkdirMulti(const char *dirnameList, SceIoMode mode); + static SceInt32 Rename(const char *oldname, const char *newname); - static SceInt32 MkdirMultiRWSYS(const char *dirnameList); + static SceInt32 Remove(const char *path); + + static SceInt32 RemoveAny(const char *path); + + static SceInt32 RemoveRecursive(const char *path); + + static SceInt32 Mkdir(const char *dirname, SceIoMode mode); + + static SceInt32 MkdirRWSYS(const char *dirname); + + //dot-separated path list + static SceInt32 CreateRecursive(const char *dirnameList, SceIoMode mode); + + static SceInt32 CreateRecursiveRWSYS(const char *dirnameList); + }; } + class LocalFile + { + public: + + class OpenParam + { + public: + + SceUInt32 ioType; + char *filename; + SceInt32 flag; + SceIoMode mode; + }; + + LocalFile(); + + LocalFile(paf::Allocator *allocator); + + virtual SceInt32 GetType(); + virtual SceInt32 unkFun_04(); + virtual SceInt32 GetSize(); + virtual SceInt32 Open(OpenParam *param); + virtual SceInt32 OpenAsync(OpenParam *param); + virtual SceInt32 Close(); + virtual SceInt32 CloseAsync(); + virtual SceBool IsOpened(); + virtual SceBool unkFun_20(); + virtual SceInt32 CancelAsync(); + virtual SceInt32 Read(ScePVoid buf, SceSize nbyte); + virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte); + virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte); + virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte); + virtual SceOff Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL); + virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam); + virtual SceInt32 Sync(); + virtual SceInt32 SyncAsync(); + virtual SceInt32 WaitAsync(io::AsyncResult *pResult); + virtual SceInt32 PollAsync(io::AsyncResult *pResult); + virtual SceInt32 GetStat(SceIoStat *stat); + virtual SceInt32 SetPriority(SceUInt32 ioPriority); + + virtual ~LocalFile(); + + private: + + SceUChar8 m_work[0x2C]; + }; + + class MemFile + { + public: + + class OpenParam + { + public: + + SceUInt32 ioType; + ScePVoid ptr; + SceSize size; + }; + + MemFile(); + + virtual SceInt32 GetType(); + virtual SceInt32 unkFun_04(); + virtual SceUInt64 GetSize(); + virtual SceInt32 Open(OpenParam *param); + virtual SceInt32 OpenAsync(OpenParam *param); + virtual SceInt32 Close(); + virtual SceInt32 CloseAsync(); + virtual SceBool IsOpened(); + virtual SceBool unkFun_20(); + virtual SceInt32 CancelAsync(); + virtual SceInt32 Read(ScePVoid buf, SceSize nbyte); + virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte); + virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte); + virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte); + virtual SceInt32 Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL); + virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam); + virtual SceInt32 Sync(); + virtual SceInt32 SyncAsync(); + virtual SceInt32 WaitAsync(io::AsyncResult *pResult); + virtual SceInt32 PollAsync(io::AsyncResult *pResult); + virtual SceInt32 GetStat(SceIoStat *stat); // not supported + virtual SceInt32 SetPriority(SceUInt32 ioPriority); // not supported + + virtual ~MemFile(); + + private: + + SceUChar8 m_work[0x4C]; + }; + + class HttpFile + { + public: + + HttpFile(); + + virtual SceInt32 GetType(); + virtual SceInt32 unkFun_04(); + virtual SceUInt64 GetSize(); + virtual SceInt32 Open(Http *param); + virtual SceInt32 OpenAsync(Http *param); + virtual SceInt32 Close(); + virtual SceInt32 CloseAsync(); + virtual SceBool IsOpened(); + virtual SceBool unkFun_20(); + virtual SceInt32 CancelAsync(); + virtual SceInt32 Read(ScePVoid buf, SceSize nbyte); + virtual SceInt32 ReadAsync(ScePVoid buf, SceSize nbyte); + virtual SceInt32 Write(const ScePVoid buf, SceSize nbyte); // not supported + virtual SceInt32 WriteAsync(const ScePVoid buf, SceSize nbyte); // not supported + virtual SceInt32 Lseek(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam = SCE_NULL); + virtual SceInt32 LseekAsync(SceOff offset, SceInt32 whence, SceIoAsyncParam* asyncParam); + virtual SceInt32 Sync(); + virtual SceInt32 SyncAsync(); + virtual SceInt32 WaitAsync(io::AsyncResult *pResult); + virtual SceInt32 PollAsync(io::AsyncResult *pResult); + virtual SceInt32 GetStat(SceIoStat *stat); + virtual SceInt32 SetPriority(SceUInt32 ioPriority); + + virtual ~HttpFile(); + + static SceInt32 GetStat(const char *url, SceIoStat *stat); + + private: + + SceUChar8 m_work[0x4C]; + }; + class Module { public: @@ -241,14 +465,16 @@ namespace paf { Allocator(ScePVoid *membase, SceSize size, const char *name, Opt *pOpt = SCE_NULL); + virtual SceInt32 GetType(); + virtual SceBool IsCdlgMemory(); + virtual char* GetName(); + virtual SceVoid GetInfo(ScePVoid **membase, SceSize *size); + virtual SceSize GetFreeSize(); + virtual ~Allocator(); static Allocator *GetGlobalAllocator(); - SceSize GetSize(); - - SceVoid GetMemBlockBase(ScePVoid *membase, ScePVoid *membaseTop); - SceVoid Deallocate(ScePVoid ptr); ScePVoid Allocate(SceSize size); @@ -271,7 +497,7 @@ namespace paf { enum Type { - Type_0, + Type_AutoDetect, Type_PNG, Type_JPEG, Type_TIFF, @@ -282,7 +508,7 @@ namespace paf { }; - class Result + class LoadResult { public: @@ -290,15 +516,89 @@ namespace paf { ScePVoid unk_04; }; - static SceVoid Load(Result *pRes, const char *pPath, ScePVoid buf, SceInt32 a4, SceInt32 a5, SceInt32 a6, SceInt32 a7); + class Resolution + { + public: + + SceUInt32 width; + SceUInt32 height; + }; + + //ScePafMisc_57AD1093 + static Type GetTypeFromFile(const char *pPath, SceInt32 unused, SceOff offset, SceIoAsyncParam* asyncIoParam); + + //ScePafMisc_D77AEA5F + static Type GetTypeFromMem(ScePVoid imageBuf, SceSize imageSize); + + static SceVoid LoadFromFile(LoadResult *pRes, const char *pPath, paf::Allocator *allocator, Type type, SceOff offset, SceIoAsyncParam* asyncIoParam, SceSize sizeWithoutOffset); + + //ScePafMisc_C341D895 + static SceInt32 LoadFromMem(LoadResult *pRes, ScePVoid imageBuf, SceSize imageSize, paf::Allocator *allocator, Type type); + + //ScePafMisc_29E8BCA7 + static SceVoid Convert(LoadResult *pRes, Image *pSrc, SceUInt32 targetType, SceInt32 a4); + + //ScePafMisc_502BC2CF + static SceVoid ToTexture(paf::graphics::Texture *pTex, Image *pImg, SceInt32 a3); static SceInt32 GetLastError(); static SceBool SetLastError(SceInt32 errorCode); + static SceVoid GetResolution(Resolution *pRes, Image *img); + SceInt32 GetType(); SceInt32 GetPaletteColorNum(); + + //147115CE + SceUInt32 GetFormat(); + + //7B15112F + SceUInt32 GetOrderType(); + }; + + class Misc + { + public: + + class OpenResult + { + public: + + union + { + LocalFile *localFile; + MemFile *memFile; + HttpFile *httpFile; + io::Mem *memory; + }; + + ScePVoid unk_04; + }; + + static SceVoid OpenMemDirect(OpenResult *res, ScePVoid ptr, SceSize size); + + static SceVoid OpenFile(OpenResult *res, const char *path, SceInt32 flag, SceIoMode mode, SceInt32 *error); + + static SceVoid OpenMem(OpenResult *res, ScePVoid ptr, SceSize size, SceInt32 *error); + + static SceVoid OpenMem(OpenResult *res, OpenResult *memory, SceInt32 *error); + + static SceVoid OpenHttp(OpenResult *res, const SceWChar16 *url, SceInt32 *error, SceInt32 timeout); + + static SceVoid OpenHttp(OpenResult *res, const char *url, SceInt32 *error, SceInt32 timeout); + + static SceBool IsDolce(); + + static SceVoid SuspendTouchInput(SceUInt32 port); + + static SceVoid ResumeTouchInput(SceUInt32 port); + + //ScePafMisc_5E39FCE1 + static SceInt32 Decompress(ScePVoid memOut, SceSize origsize, ScePVoid memIn, SceSize size, SceInt32 libType = 1); + + static SceInt32 Test1(char *path); }; } diff --git a/include/user/paf/stdc.h b/include/user/paf/stdc.h index 1f72ced..74c2346 100644 --- a/include/user/paf/stdc.h +++ b/include/user/paf/stdc.h @@ -17,6 +17,8 @@ extern "C" { * std C functions */ +int sce_paf_abs(int x); +int sce_paf_atoi(const char * str); 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); @@ -34,6 +36,12 @@ 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); +void sce_paf_qsort(void *ptr, SceSize count, SceSize size, int(*comp)(const void *, const void *)); + +unsigned long int sce_paf_strtoul(const char* str, char** endptr, int base); + +int sce_paf_rand(void); +void sce_paf_srand(unsigned int seed); /** * wchar functions @@ -68,6 +76,13 @@ 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); +void *sce_paf_memalign(size_t align, size_t length); +void sce_paf_free(void *ptr); +void *sce_paf_malloc(size_t size); + +float sce_paf_ceilf(float arg); +float sce_paf_floorf(float arg); + #ifdef __cplusplus } #endif diff --git a/include/user/paf/thread.h b/include/user/paf/thread.h index 2b4d683..deef546 100644 --- a/include/user/paf/thread.h +++ b/include/user/paf/thread.h @@ -234,8 +234,7 @@ namespace paf { }; - //Not usable yet - /*class JobQueue + class JobQueue { public: @@ -293,11 +292,17 @@ namespace paf { private: - SceUChar8 m_work[0x24]; + SceUChar8 m_work[0x14]; }; - typedef void(*QueueEntryFunction)(void *pArgBlock); + class ItemParam + { + public: + + Item *item; + Request *request; + }; JobQueue(const char *pName, Opt *opt = SCE_NULL); @@ -309,7 +314,7 @@ namespace paf { static SceVoid DeleteDefaultJobQueue(); - SceInt32 Push(Item *queueItem); + SceInt32 Push(ItemParam *queueItemParam); SceVoid Join(); @@ -317,15 +322,15 @@ namespace paf { SceVoid ChangeWorkerPriority(SceInt32 priority); - SceVoid Execute(); + SceVoid Finish(); - SceVoid Execute2(); + SceVoid Execute(); private: SceUChar8 m_work[0x2C]; - };*/ + }; } } diff --git a/include/user/paf/toplevel.h b/include/user/paf/toplevel.h index e5ec819..5d0c8f4 100644 --- a/include/user/paf/toplevel.h +++ b/include/user/paf/toplevel.h @@ -6,19 +6,12 @@ #define _VDSUITE_USER_PAF_TOPLEVEL_H #include <kernel.h> +#include <paf/graphics.h> #include <paf/resource.h> +#include <paf/widget.h> namespace paf { - namespace graphics { - class Texture; - class MemoryPool; - } - - namespace widget { - class Widget; - } - class Plugin { public: @@ -29,17 +22,17 @@ namespace paf { ~Plugin() {}; - class RootWidgetInitParam + class SceneInitParam { public: - RootWidgetInitParam(); + SceneInitParam(); - ~RootWidgetInitParam() { }; + ~SceneInitParam() { }; SceInt32 unk_00; SceInt32 unk_04; - SceInt32 unk_08; + SceInt32 priority; SceUChar8 unk_0C[0x20]; }; @@ -59,20 +52,31 @@ namespace paf { static SceVoid LoadTexture(paf::graphics::Texture *tex, Plugin *plugin, paf::Resource::Element *textureSearchParam); - paf::widget::Widget *SetRootWidget(paf::Resource::Element *widgetInfo, RootWidgetInitParam *initParam); + //6F7E804D + //SceInt32 AddTextureFromFile(paf::String *unk, const char *filePath, const char *a3); + + paf::widget::Widget *CreateScene(paf::Resource::Element *widgetInfo, SceneInitParam *initParam); + + paf::widget::Widget *CreateWidgetWithStyle(paf::widget::Widget *parent, const char *widgetType, paf::Resource::Element *widgetInfo, paf::Resource::Element *styleInfo); + + paf::widget::Widget *GetSceneByHash(paf::Resource::Element *widgetInfo); - paf::widget::Widget *GetRootWidgetByHash(paf::Resource::Element *widgetInfo); + paf::widget::Widget *GetWidgetByNum(SceUInt32 num); SceInt32 AddWidgetFromTemplate(paf::widget::Widget *targetRoot, paf::Resource::Element *templateSearchParam, paf::Plugin::TemplateInitParam *param); - SceUChar8 unk_00[0x4]; + SceWChar16 *GetString(paf::Resource::Element *stringInfo); + + SceUInt32 unk_00; char *name; SceUChar8 unk_08[0xA8]; Resource *resource; + SceUChar8 unk_B4[0x20]; + graphics::MemoryPool *memoryPool; private: - SceUChar8 m_unk_B4[0x4]; //size is unknown + SceUChar8 m_unk_B8[0x4]; //size is unknown }; @@ -96,35 +100,57 @@ namespace paf { { public: + enum FeatureFlags + { + FeatureFlag_UseFwUpdateSync = 1, + FeatureFlag_DisableInternalCallbackChecks = 2, + FeatureFlag_4 = 4, + FeatureFlag_8 = 8 + }; + InitParam(); ~InitParam() { }; InitParam *LoadDefaultParams(); - SceUInt32 unk_00; + SceUInt32 gxmRingBufferSize; SceUInt32 gxmParameterBufferSize; - SceUChar8 unk0[0x10]; + SceUInt32 unk_08; + SceUInt32 defaultSurfacePoolSize; + SceUInt32 graphMemSystemHeapSize; + + SceUInt32 graphMemVideoHeapSize; SceUInt32 textSurfaceCacheSize; + SceUInt32 unk_1C; + SceUInt32 unk_20; - SceUChar8 unk1[0x40]; + SceUChar8 unk_24[0x30]; + SceUInt32 fontRasterizerFlags; + SceUInt32 fontRasterizerHeapSize; SceUInt32 decodeHeapSize; SceUInt32 defaultPluginHeapSize; - SceInt32 screenWidth; //unused - SceInt32 sceenHeight; //unused + SceUInt32 unkSize_64; + SceInt32 screenWidth; + SceInt32 sceenHeight; ApplicationMode applicationMode; - SceInt32 optionalFeatureFlags; + SceUInt32 optionalFeatureFlags; SceInt32 language; SceInt32 enterButtonAssign; - SceBool useAdditionalWidgetInit; + SceUInt8 allowControlWithButtons; + SceUInt8 unkOptFlag1; + SceUInt8 unkOptFlag2; + SceUInt8 unkOptFlag3; ScePVoid unk_84; SceInt32 unused_88; SceInt32 graphicsFlags; - SceUChar8 unk2[0x134]; + SceUInt32 unk_140; + + SceUChar8 unk2[0x20]; }; class CommonResourceInitParam @@ -156,7 +182,11 @@ namespace paf { paf::Plugin::PluginCB unloadCB2; paf::String resourcePath; - SceUChar8 unk_38[0x20]; + SceUChar8 unk_38[0xC]; + + SceUInt32 pluginHeapSize; + + SceUChar8 unk_48[0x10]; SceInt32 unk_58; @@ -187,7 +217,9 @@ namespace paf { static paf::graphics::MemoryPool *GetDefaultGraphicsMemoryPool(); - static SceVoid LoadTexture(paf::graphics::Texture *tex, Framework *fw, paf::Resource::Element *searchParam); + static SceVoid LoadTextureCurrentPlugin(paf::graphics::Texture *tex, Framework *fw, paf::Resource::Element *searchParam); + + static SceVoid CreateTextureFromMemory(paf::graphics::Texture *tex, Plugin *plugin, ScePVoid ptr, SceSize size, paf::Image::Type type, SceBool isCompressed, SceSize origsize); SceVoid _LoadPluginAsync(PluginInitParam *initParam, LoadPluginFinishCallback finishCallback = SCE_NULL, UnloadPluginFinishCallback unloadFinishCallback = SCE_NULL); @@ -207,15 +239,29 @@ namespace paf { ApplicationMode GetApplicationMode(); - SceInt32 Test2(SceFloat32, SceInt32, SceInt32); + paf::widget::Widget *GetCurrentScene(); + + SceWChar16 *GetCRString(paf::Resource::Element *stringInfo); - paf::widget::Widget *GetRootWidget(); + SceUChar8 unk_00[0x18]; - SceUChar8 unk_00[0x1C]; + SceUInt32 loadedPluginNum; Plugin *crPlugin; - SceUChar8 unk_20[0x5C]; + SceUChar8 unk_20[0x34]; + + ApplicationMode applicationMode; + + SceUInt32 optionalFeatureFlags; + + SceUInt32 language; + + SceUChar8 unk_60[0x14]; + + SceUID powerCallbackId; + + paf::Allocator *defaultAllocator; }; } diff --git a/include/user/paf/widget.h b/include/user/paf/widget.h index c7c25e9..b22cc00 100644 --- a/include/user/paf/widget.h +++ b/include/user/paf/widget.h @@ -14,6 +14,8 @@ namespace paf { class WString; namespace graphics { + class DrawQueue; + class TextObj; class Texture; } @@ -142,8 +144,8 @@ namespace paf { virtual int unkFun_084(); virtual int unkFun_088(); virtual int unkFun_08C(); - virtual int unkFun_090_anim(SceInt32 animationCode, SceBool setSomeFloat); - virtual int unkFun_094_animRev(SceInt32 animationCode, SceBool setSomeFloat); + virtual int unkFun_090_anim(SceFloat32 a1, SceInt32 animationCode, SceBool setSomeFloat); + virtual int unkFun_094_animRev(SceFloat32 a1, SceInt32 animationCode, SceBool setSomeFloat); virtual int unkFun_098(); virtual int unkFun_09C(); virtual int unkFun_0A0(); @@ -168,9 +170,9 @@ namespace paf { virtual int unkFun_0EC(); virtual int unkFun_0F0(); virtual int unkFun_0F4(); - virtual int unkFun_0F8(SceInt32); - virtual int unkFun_0FC(); - virtual int SetTexture(paf::graphics::Texture *tex); + virtual graphics::DrawQueue *GetDrawQueue(SceInt32 a1 = 0); + virtual int SetTexture(paf::graphics::Texture *tex, SceInt32 childNum, SceInt32 a3 = 0); + virtual int SetTextureBase(paf::graphics::Texture *tex); virtual int unkFun_104(); virtual int unkFun_108(); virtual int unkFun_10C(); @@ -178,11 +180,11 @@ namespace paf { virtual int unkFun_114(); virtual SceInt32 SetLabelWithFlag(paf::WString *text, SceInt32 flag); virtual SceInt32 SetLabel(paf::WString *text); - virtual int unkFun_120(); - virtual int unkFun_124(); + virtual SceInt32 GetLabelWithFlag(paf::WString *text, SceInt32 flag); + virtual SceInt32 GetLabel(paf::WString *text); virtual int unkFun_128(); virtual int unkFun_12C(); - virtual int unkFun_130(); + virtual int unkFun_130(SceInt32); virtual int unkFun_134(SceInt32); virtual int unkFun_138(); virtual int unkFun_13C(); @@ -207,7 +209,7 @@ namespace paf { virtual int unkFun_188(); virtual int unkFun_18C(); virtual int unkFun_190(); - virtual int unkFun_194(); + virtual int unkFun_194(SceFloat32 a1, SceFVector4 *a2, SceInt32 a3, SceInt32 a4, SceInt32 a5); virtual int unkFun_198(); virtual int unkFun_19C(); virtual int unkFun_1A0(); @@ -256,6 +258,8 @@ namespace paf { static char *TypeScrollViewParent(); + static char *TypeScrollView(); + static char *TypeScrollBar2D(); static char *TypeScrollBarTouch(); @@ -326,17 +330,37 @@ namespace paf { SceInt32 SetAdjust(SceBool x, SceBool y, SceBool z); + SceVoid SetGraphicsDisabled(SceBool disable); + + enum EventCtrl + { + EventCtrl_ButtonPress = 0x10001, + EventCtrl_ButtonRelease = 0x10002, + EventCtrl_ButtonHold = 0x10003 + }; + + enum EventFocus + { + EventFocus_On = 0x40001, + EventFocus_Off = 0x40002 + }; + + enum EventMain + { + EventMain_Pressed = 0x10000008 + }; + SceInt32 RegisterEventCallback(SceInt32 eventId, EventCallback *cb, SceBool a3); SceInt32 UnregisterEventCallback(SceInt32 eventId, SceInt32 a2, SceInt32 a3); - SceInt32 RegisterLoopEventCallback(SceInt32 eventId, EventCallback *cb); + SceInt32 RegisterFwEventCallback(SceFloat32 delay, SceInt32 eventId, EventCallback *cb); - SceInt32 UnregisterLoopEventCallback(SceInt32 eventId); + SceInt32 UnregisterFwEventCallback(SceInt32 eventId); SceInt32 AssignButton(SceUInt32 buttons); - SceInt32 SetDimFactor(SceFloat32 factor, SceInt32 a2 = 0, SceInt32 a3 = 0x10003, SceInt32 a4 = 0, SceInt32 a5 = 0, SceInt32 a6 = 0); + SceInt32 SetAlpha(SceFloat32 alpha, SceInt32 a2 = 0, SceInt32 a3 = 0x10003, SceInt32 a4 = 0, SceInt32 a5 = 0, SceInt32 a6 = 0); SceVoid Disable(SceBool a1); @@ -390,11 +414,19 @@ namespace paf { }; - SceInt32 PlayAnimation(Animation animId, EventCallback::EventHandler animCB = 0, ScePVoid pUserData = SCE_NULL); + SceInt32 PlayAnimation(SceFloat32 animationSpeed, Animation animId, EventCallback::EventHandler animCB = 0, ScePVoid pUserData = SCE_NULL); + + SceInt32 PlayAnimationReverse(SceFloat32 animationSpeed, Animation animId, EventCallback::EventHandler animCB = 0, ScePVoid pUserData = SCE_NULL); - SceInt32 PlayAnimationReverse(Animation animId, EventCallback::EventHandler animCB = 0, ScePVoid pUserData = SCE_NULL); + SceUChar8 unk_004[0x5D]; - SceUChar8 unk_004[0x148]; + SceUInt8 unk_061; + + SceUChar8 unk_062[0x74]; + + SceUInt8 unk_0D6; + + SceUChar8 unk_0D7[0x75]; SceUInt32 hash; @@ -406,16 +438,24 @@ namespace paf { SceUInt8 animationStatus; - SceUChar8 unk_197[0xF5]; + SceUChar8 unk_197[0xE9]; + + graphics::TextObj *textObj; + + SceUChar8 unk_284[0x8]; Color *pDisabledColor; - SceUChar8 unk_290[0x5]; + SceUInt32 unk_290; + + SceUChar8 unk_294[0x1]; private: }; + static int a = sizeof(Widget); + class BusyIndicator : public Widget { public: @@ -443,9 +483,11 @@ namespace paf { virtual ~Text(); + SceUInt32 unk_298; + private: - SceUChar8 unk_298[0x40]; + SceUChar8 unk_29C[0x3C]; }; class TextBox : public Widget @@ -575,6 +617,67 @@ namespace paf { virtual ~ScrollViewParent(); }; + class ScrollView : public Widget + { + public: + + ScrollView(Widget *parent, SceInt32 a2); + + virtual ~ScrollView(); + + virtual int unkFun_1AC(); + virtual int unkFun_1B0(); + virtual int unkFun_1B4(); + virtual int unkFun_1B8(); + virtual int unkFun_1BC(); + virtual int unkFun_1C0(); + virtual int unkFun_1C4(); + virtual int unkFun_1C8(); + virtual int unkFun_1CC(); + virtual int unkFun_1D0(); + virtual int unkFun_1D4(); + virtual int unkFun_1D8(); + virtual int unkFun_1DC(); + virtual int unkFun_1E0(); + virtual int unkFun_1E4(); + virtual int unkFun_1E8(); + virtual int unkFun_1EC(); + virtual int unkFun_1F0(); + virtual int unkFun_1F4(); + virtual int unkFun_1F8(); + virtual int unkFun_1FC(); + virtual int unkFun_200(); + virtual int unkFun_204(); + virtual int unkFun_208(); + virtual int unkFun_20C(); + virtual int unkFun_210(); + virtual int unkFun_214(); + virtual int unkFun_218(); + virtual int unkFun_21C(); + virtual int unkFun_220(); + virtual int unkFun_224(); + virtual int unkFun_228(); + virtual int unkFun_22C(SceInt32 a2); + virtual int unkFun_230(); + virtual int unkFun_234(); + virtual int unkFun_238(); + virtual int unkFun_23C(); + virtual int unkFun_240(SceFVector4 *a1, SceInt32 a2); + virtual int unkFun_244(); + virtual int unkFun_248(SceInt32 a1); + virtual int unkFun_24C(SceInt32 a1); + virtual int unkFun_250(); + virtual int unkFun_254(SceUInt64 *a1, SceInt32 a2, SceInt32 a3, SceInt32 a4); + virtual int unkFun_258(SceInt32 a1); + virtual int unkFun_25C(); + virtual int unkFun_260(SceFVector4 *a1, SceInt32 a2); + virtual int unkFun_264(); + virtual int unkFun_268(); + virtual int unkFun_26C(); + virtual int unkFun_270(); + virtual int unkFun_274(SceInt32 a1); + }; + class ScrollBar2D : public Widget { public: @@ -636,6 +739,36 @@ namespace paf { ProgressBar(Widget *parent, SceInt32 a2); virtual ~ProgressBar(); + + virtual int unkFun_1AC(); + virtual int unkFun_1B0(); + virtual int unkFun_1B4(); + virtual int unkFun_1B8(); + virtual int unkFun_1BC(); + virtual int unkFun_1C0(); + virtual int unkFun_1C4(); + virtual int unkFun_1C8(); + virtual int unkFun_1CC(); + virtual int unkFun_1D0(); + virtual int unkFun_1D4(); + virtual int unkFun_1D8(); + virtual int unkFun_1DC(); + virtual int unkFun_1E0(); + virtual int unkFun_1E4(); + virtual int SetProgress(SceFloat32 value, SceUInt32 a2, SceUInt32 a3); + virtual int unkFun_1EC(); + virtual int unkFun_1F0(); + virtual int unkFun_1F4(); + virtual int unkFun_1F8(); + virtual int unkFun_1FC(); + virtual int unkFun_200(); + + SceUChar8 unk_295[0x7]; + + SceFloat32 fullValue; + SceFloat32 unk_2A0; + SceFloat32 currentValue; + }; class ProgressBarTouch : public Widget @@ -645,6 +778,35 @@ namespace paf { ProgressBarTouch(Widget *parent, SceInt32 a2); virtual ~ProgressBarTouch(); + + virtual int unkFun_1AC(); + virtual int unkFun_1B0(); + virtual int unkFun_1B4(); + virtual int unkFun_1B8(); + virtual int unkFun_1BC(); + virtual int unkFun_1C0(); + virtual int unkFun_1C4(); + virtual int unkFun_1C8(); + virtual int unkFun_1CC(SceInt32 a1); + virtual int unkFun_1D0(); + virtual int unkFun_1D4(); + virtual int unkFun_1D8(); + virtual int unkFun_1DC(); + virtual int unkFun_1E0(); + virtual int unkFun_1E4(); + virtual int SetProgress(SceFloat32 value, SceUInt32 a2, SceUInt32 a3); + virtual int unkFun_1EC(); + virtual int unkFun_1F0(); + virtual int unkFun_1F4(); + virtual int unkFun_1F8(); + virtual int unkFun_1FC(); + virtual int unkFun_200(); + + SceUChar8 unk_295[0x7]; + + SceFloat32 fullValue; + SceFloat32 unk_2A0; + SceFloat32 currentValue; }; class ListItem : public Widget //0x2d0 diff --git a/nids/360/ScePaf.yml b/nids/360/ScePaf.yml index c6e0164..aa50fef 100644 --- a/nids/360/ScePaf.yml +++ b/nids/360/ScePaf.yml @@ -5,6 +5,8 @@ modules: ScePafCommon: nid: 0x3C1965CD functions: + _ZN3paf6String13MemsizeFormatEj: 0xF7FEB001 + _ZN3paf6String4SetfEPKcz: 0x87D6E910 _ZN3paf6String9ToWStringEPKcPNS_7WStringE: 0x950C3AA0 _ZN3paf6String9ToWStringEPKcPNS_7WStringEj: 0xA9ED25D9 _ZN3paf6String9ToWStringEPNS_7WStringE: 0x3CFEB1EB @@ -17,19 +19,31 @@ modules: _ZN3paf6StringC2EPKcj: 0x1F1C3F8D _ZN3paf6StringC2EPS0_: 0xCC229501 _ZN3paf6StringC2Ev: 0x50C5FA24 - _ZN3paf6common21WidgetStateTransitionEfPNS_6widget6WidgetEjii: 0xB48C9BDC - _ZN3paf6common28WidgetStateTransitionReverseEfPNS_6widget6WidgetEjii: 0x6CF3A3C8 _ZN3paf6common5Utils17AddMainThreadTaskEPFvPvES2_: 0x6735B503 _ZN3paf6common5Utils20RemoveMainThreadTaskEPFvPvES2_: 0x4A8115D5 + _ZN3paf6common5Utils21WidgetStateTransitionEfPNS_6widget6WidgetEjii: 0xB48C9BDC + _ZN3paf6common5Utils28WidgetStateTransitionReverseEfPNS_6widget6WidgetEjii: 0x6CF3A3C8 _ZN3paf7WString8ToStringEPKtPNS_6StringE: 0x8E009780 _ZN3paf7WString8ToStringEPKtPNS_6StringEj: 0x5FAAAE1C _ZN3paf7WString8ToStringEPNS_6StringE: 0x06C015C6 _ZN3paf7WString8ToStringEPNS_6StringEj: 0x683BC8E8 + _ZN3paf8SWStringC1EPKc: 0x4107391F + _ZN3paf8SWStringC1EPKt: 0x5DF278C9 + _ZN3paf8SWStringC1EPNS_6StringE: 0x5AB8BCDE + _ZN3paf8SWStringC1EPNS_7WStringE: 0x9C4ABDBE + _ZN3paf8SWStringC1Ev: 0x298D25EE + _ZN3paf8SWStringC2EPKc: 0xE23D7BA7 + _ZN3paf8SWStringC2EPKt: 0xDB4B2313 + _ZN3paf8SWStringC2EPNS_6StringE: 0xCE934628 + _ZN3paf8SWStringC2EPNS_7WStringE: 0x7607A514 + _ZN3paf8SWStringC2Ev: 0xD9F31F44 + _ZN3paf8SWStringD1Ev: 0x96777934 + _ZN3paf8SWStringD2Ev: 0xE2544213 ScePafGraphics: nid: 0xA070D6A7 functions: - _ZN3paf8graphics10MemoryPool12FreeMemBlockEjPv: 0x167F6801 - _ZN3paf8graphics10MemoryPool13AllocMemBlockEjjPKcPv: 0xBBE8F063 + _ZN3paf8graphics10MemoryPool12FreeMemBlockENS1_10MemoryTypeEPv: 0x167F6801 + _ZN3paf8graphics10MemoryPool13AllocMemBlockENS1_10MemoryTypeEjPKcPv: 0xBBE8F063 _ZN3paf8graphics10MemoryPool20GetDefaultMemoryPoolEv: 0xCDE30B64 _ZN3paf8graphics10MemoryPoolC1EPNS1_9InitParamE: 0x6A986ED3 _ZN3paf8graphics10MemoryPoolC1EPvjPKcPNS_9Allocator3OptEj: 0xEEC40427 @@ -38,65 +52,150 @@ modules: _ZN3paf8graphics10MemoryPoolD0Ev: 0x1697139C _ZN3paf8graphics10MemoryPoolD1Ev: 0x2FBA10B9 _ZN3paf8graphics10MemoryPoolD2Ev: 0x2B1159EC + _ZN3paf8graphics17FwGraphicsContext20GetFwGraphicsContextEv: 0x6C448991 + _ZN3paf8graphics7Surface7GetLockEv: 0x29FC820B _ZN3paf8graphics7SurfaceC1EPNS0_10MemoryPoolEjjjjiji: 0x7C8B2A63 _ZN3paf8graphics7SurfaceD0Ev: 0x58D2FEF6 _ZN3paf8graphics7SurfaceD1Ev: 0x767D7A4D _ZN3paf8graphics7SurfaceD2Ev: 0xF1EE942C _ZN3paf8graphics7SurfacedlEPv: 0x9FAF51CF _ZN3paf8graphics7SurfacenwEj: 0x6EA3E8FF + _ZN3paf8graphics7TextObj16GetDataAndLengthEPPtPj: 0x67094D42 + _ZN3paf8graphics7TextObj9GetLengthEPj: 0x3B798744 + _ZN3paf8graphics7TextObjD1Ev: 0x919B8983 + _ZN3paf8graphics7Texture14CreateFromFileEPS1_PNS0_10MemoryPoolEPNS_4Misc10OpenResultEPv: 0xB228A257 + _ZN3paf8graphics7Texture16CreateFromMemoryEPS1_PNS0_10MemoryPoolEPvijiS5_: 0x476AB004 + _ZN3paf8graphics9DrawQueue10SetDrawJobEPNS1_9ItemParamE: 0x0F6790DB + ScePafLowlayer: + nid: 0x2342266A + functions: + _ZN3paf8lowlayer5Deflt10DecompressEPvjS2_PKS2_: 0xD7DAA151 ScePafMisc: nid: 0x3D643CE8 functions: - _ZN3paf2io10MkdirMultiEPKci: 0xFDCD1121 - _ZN3paf2io10MkdirRWSYSEPKc: 0x198A4C81 - _ZN3paf2io15MkdirMultiRWSYSEPKc: 0xE39FA610 - _ZN3paf2io15RemoveRecursiveEPKc: 0xDFF0CA06 - _ZN3paf2io18SetDefaultPriorityEj: 0xA283AD47 - _ZN3paf2io3Dir4OpenEPiPKc: 0x95F2C107 + _ZN3paf2io3Dir4OpenEPKc: 0x95F2C107 _ZN3paf2io3Dir4ReadEPNS1_6DirentE: 0xA4F553B0 - _ZN3paf2io3Dir5CloseEPi: 0x2E8E9CBB + _ZN3paf2io3Dir5CloseEv: 0x2E8E9CBB _ZN3paf2io4File10CloseAsyncEv: 0xE1624D8E - _ZN3paf2io4File10LseekAsyncEiiP15SceIoAsyncParam: 0x69798A47 + _ZN3paf2io4File10LseekAsyncExiP15SceIoAsyncParam: 0x69798A47 _ZN3paf2io4File10WriteAsyncEPKvj: 0x604D3C31 _ZN3paf2io4File11CancelAsyncEv: 0x00AB4F34 _ZN3paf2io4File11SetPriorityEj: 0x619FA110 + _ZN3paf2io4File18SetDefaultPriorityEj: 0xA283AD47 _ZN3paf2io4File4OpenEPKcii: 0x9DD7B62D _ZN3paf2io4File4ReadEPvj: 0x999CDF39 _ZN3paf2io4File4SyncEv: 0x61B3C8C6 _ZN3paf2io4File5CloseEv: 0x757CC8B1 - _ZN3paf2io4File5LseekExi: 0x38D851FF + _ZN3paf2io4File5LseekExiP15SceIoAsyncParam: 0x38D851FF _ZN3paf2io4File5WriteEPKvj: 0x132F4E2C + _ZN3paf2io4File6RemoveEPKc: 0xB18C734D + _ZN3paf2io4File6RenameEPKcPKc: 0x05C19D34 + _ZN3paf2io4File7GetSizeEPKc: 0xAC689344 _ZN3paf2io4File7GetSizeEv: 0x3AB24248 - _ZN3paf2io4File7GetStatEPv: 0x223EAD7D + _ZN3paf2io4File7GetStatEP9SceIoStat: 0x223EAD7D _ZN3paf2io4File9OpenAsyncEPKcii: 0xBDE466D2 _ZN3paf2io4File9PollAsyncEPNS1_11AsyncResultE: 0xEE7027E7 _ZN3paf2io4File9ReadAsyncEPvj: 0xC6220CE0 _ZN3paf2io4File9SyncAsyncEv: 0xF626DC7D - _ZN3paf2io4File9WaitAsyncEPNS1_11AsyncResultE: 0x7486256D + _ZN3paf2io4File9WaitAsyncEPNS0_11AsyncResultE: 0x7486256D _ZN3paf2io4FileC1Ev: 0xE73FE3E5 _ZN3paf2io4FileC2Ev: 0xA495CC6B _ZN3paf2io4FileD0Ev: 0xDF3A09D4 _ZN3paf2io4FileD1Ev: 0xEEDD1701 _ZN3paf2io4FileD2Ev: 0xA47418DF - _ZN3paf2io5IsDirEPKc: 0xB002E56C - _ZN3paf2io5MkdirEPKci: 0x53EAF163 - _ZN3paf2io6ExistsEPKc: 0x95F14046 - _ZN3paf2io6RemoveEPKc: 0x40573275 + _ZN3paf2io4Misc10MkdirRWSYSEPKc: 0x198A4C81 + _ZN3paf2io4Misc15CreateRecursiveEPKci: 0xFDCD1121 + _ZN3paf2io4Misc15RemoveRecursiveEPKc: 0xDFF0CA06 + _ZN3paf2io4Misc18SetDefaultPriorityEj: 0xB1E2960A + _ZN3paf2io4Misc20CreateRecursiveRWSYSEPKc: 0xE39FA610 + _ZN3paf2io4Misc5IsDirEPKc: 0xB002E56C + _ZN3paf2io4Misc5MkdirEPKci: 0x53EAF163 + _ZN3paf2io4Misc6ExistsEPKc: 0x95F14046 + _ZN3paf2io4Misc6RemoveEPKc: 0xC8CA2008 + _ZN3paf2io4Misc6RenameEPKcPKc: 0x1702CD72 + _ZN3paf2io4Misc7GetSizeEPKc: 0x1F37F8DA + _ZN3paf2io4Misc9RemoveAnyEPKc: 0x40573275 + _ZN3paf2io4Stat11IsFileOrDirEPKc: 0xEBEC6951 + _ZN3paf2io4Stat5IsDirEPKc: 0x8C97C54C + _ZN3paf2io4Stat6IsFileEPKc: 0x2EAB756A + _ZN3paf2io4Stat7GetStatEPKcPS1_: 0x2E402A5C + _ZN3paf4Http6SetUnkEii: 0xED1839C2 + _ZN3paf4Http6SetUrlEPKc: 0xDE80BFD9 + _ZN3paf4Http6SetUrlEPNS_6StringE: 0xD6D82FF9 + _ZN3paf4HttpC1Ev: 0x37A4ADA9 + _ZN3paf4HttpC2Ev: 0xF8213E1C + _ZN3paf4Misc13OpenMemDirectEPNS0_10OpenResultEPvj: 0xDEB7A1CF + _ZN3paf4Misc16ResumeTouchInputEj: 0x15613EA2 + _ZN3paf4Misc17SuspendTouchInputEj: 0x0D4B4B67 + _ZN3paf4Misc7IsDolceEv: 0xAF4FC3F4 + _ZN3paf4Misc7OpenMemEPNS0_10OpenResultEPvjPi: 0x19FE55A8 + _ZN3paf4Misc7OpenMemEPNS0_10OpenResultES2_Pi: 0x502E1BB0 + _ZN3paf4Misc8OpenFileEPNS0_10OpenResultEPKciiPi: 0xB9FB9BD6 + _ZN3paf4Misc8OpenHttpEPNS0_10OpenResultEPKcPii: 0xA9958563 + _ZN3paf4Misc8OpenHttpEPNS0_10OpenResultEPKtPii: 0x5888F3EC _ZN3paf4Sha111BlockResultEPh: 0xB3BF59FC _ZN3paf4Sha111BlockUpdateEPvj: 0xE6BB459E _ZN3paf4Sha1C1Ev: 0xB38C53C0 _ZN3paf5Image12GetLastErrorEv: 0xE9A4171E _ZN3paf5Image12SetLastErrorEi: 0x951B7B59 + _ZN3paf5Image13GetResolutionEPNS0_10ResolutionEPS0_: 0xEBEBC3F0 _ZN3paf5Image18GetPaletteColorNumEv: 0x9ADD8A26 - _ZN3paf5Image4LoadEPNS0_6ResultEPKcPviiii: 0xFAA808C2 + _ZN3paf5Image4LoadEPNS0_10LoadResultEPKcPviiii: 0xFAA808C2 _ZN3paf5Image7GetTypeEv: 0xBF87C099 _ZN3paf6ModuleC1EPKciji: 0xB3B5DF38 _ZN3paf6ModuleC2EPKciji: 0xF297D14C _ZN3paf6ModuleD1Ev: 0x7C86911E _ZN3paf6ModuleD2Ev: 0xAFD2590E _ZN3paf6String16WCharToNewStringEPKtPS0_: 0xE690F751 - _ZN3paf7IsDolceEv: 0xAF4FC3F4 + _ZN3paf7MemFile10CloseAsyncEv: 0x807CCDB4 + _ZN3paf7MemFile10LseekAsyncExiP15SceIoAsyncParam: 0x7BED7D7F + _ZN3paf7MemFile10WriteAsyncEPKvj: 0x494E8CF8 + _ZN3paf7MemFile11CancelAsyncEv: 0xE3F118A8 + _ZN3paf7MemFile4OpenEPKcii: 0xC4875233 + _ZN3paf7MemFile4ReadEPvj: 0x871AFA61 + _ZN3paf7MemFile4SyncEv: 0x4FBD37E4 + _ZN3paf7MemFile5CloseEv: 0x4E981745 + _ZN3paf7MemFile5LseekExiP15SceIoAsyncParam: 0xEF7C46F1 + _ZN3paf7MemFile5WriteEPKvj: 0xA7756292 + _ZN3paf7MemFile7GetSizeEv: 0x6784C895 + _ZN3paf7MemFile7GetTypeEv: 0x4BB2B084 + _ZN3paf7MemFile8IsOpenedEv: 0x5C9FFE3E + _ZN3paf7MemFile9OpenAsyncEPKcii: 0xF2A15807 + _ZN3paf7MemFile9PollAsyncEPNS1_11AsyncResultE: 0x564A5CA7 + _ZN3paf7MemFile9ReadAsyncEPvj: 0x44FE3320 + _ZN3paf7MemFile9SyncAsyncEv: 0x964C67E5 + _ZN3paf7MemFile9WaitAsyncEPNS1_11AsyncResultE: 0x4B8F8811 + _ZN3paf7MemFileC1Ev: 0x995435F4 + _ZN3paf7MemFileC2Ev: 0x19BD0EAB + _ZN3paf7MemFileD0Ev: 0x71148CB2 + _ZN3paf7MemFileD1Ev: 0x8AF3CC45 + _ZN3paf7MemFileD2Ev: 0xF4D60C5C _ZN3paf7WString16CharToNewWStringEPKcPS0_: 0xA6ABC0B2 + _ZN3paf8HttpFile10CloseAsyncEv: 0xCE4DFAD1 + _ZN3paf8HttpFile10LseekAsyncExiP15SceIoAsyncParam: 0xCD9CCF7F + _ZN3paf8HttpFile10WriteAsyncEPKvj: 0x341895C8 + _ZN3paf8HttpFile11CancelAsyncEv: 0x39910437 + _ZN3paf8HttpFile4OpenEPNS_4HttpE: 0xD2221E7B + _ZN3paf8HttpFile4ReadEPvj: 0xFD8D09E7 + _ZN3paf8HttpFile4SyncEv: 0x9FE47AA4 + _ZN3paf8HttpFile5CloseEv: 0x0286E577 + _ZN3paf8HttpFile5LseekExiP15SceIoAsyncParam: 0x8536F0EB + _ZN3paf8HttpFile5WriteEPKvj: 0x47834F0F + _ZN3paf8HttpFile7GetSizeEv: 0xB06C6A6B + _ZN3paf8HttpFile7GetStatEP9SceIoStat: 0xA004D31D + _ZN3paf8HttpFile7GetStatEPKcP9SceIoStat: 0x5155B290 + _ZN3paf8HttpFile7GetTypeEv: 0x065AF035 + _ZN3paf8HttpFile8IsOpenedEv: 0x657B46A1 + _ZN3paf8HttpFile9OpenAsyncEPNS_4HttpE: 0x878D108C + _ZN3paf8HttpFile9PollAsyncEPNS1_11AsyncResultE: 0xD5543A0D + _ZN3paf8HttpFile9ReadAsyncEPvj: 0x1B7C42FA + _ZN3paf8HttpFile9SyncAsyncEv: 0x84E88034 + _ZN3paf8HttpFile9WaitAsyncEPNS1_11AsyncResultE: 0x7B2F4627 + _ZN3paf8HttpFileC1Ev: 0x541FFC11 + _ZN3paf8HttpFileC2Ev: 0x444C9C53 + _ZN3paf8HttpFileD0Ev: 0x13E9B54C + _ZN3paf8HttpFileD1Ev: 0x967C0019 + _ZN3paf8HttpFileD2Ev: 0xE93C0EBB _ZN3paf8datetime8DateTime10IsLeapYearEi: 0xA6178A4C _ZN3paf8datetime8DateTime11SetFromTickEP10SceRtcTick: 0x6EC994D7 _ZN3paf8datetime8DateTime12ParseRFC3339EP10SceRtcTickPKc: 0xE4516D60 @@ -120,15 +219,44 @@ modules: _ZN3paf8datetime8DateTimeD1Ev: 0x2DBDFC13 _ZN3paf8datetime8DateTimeltEPKS1_: 0x17B87641 _ZN3paf9Allocator10DeallocateEPv: 0xCE97B579 + _ZN3paf9Allocator11GetFreeSizeEv: 0xC32ECD73 + _ZN3paf9Allocator12IsCdlgMemoryEv: 0xD9E9BEC8 _ZN3paf9Allocator15AllocateAlignedEjj: 0x04716F15 - _ZN3paf9Allocator15GetMemBlockBaseEPPvS3_: 0x9A80FBC3 - _ZN3paf9Allocator7GetSizeEv: 0x7270DC05 + _ZN3paf9Allocator7GetInfoEPPvj: 0xD4358B8E + _ZN3paf9Allocator7GetNameEv: 0x68B7420B _ZN3paf9Allocator8AllocateEj: 0x89A1CE78 _ZN3paf9AllocatorC1EPPvjPKcPNS1_3OptE: 0xA2B0BF4D _ZN3paf9AllocatorC2EPPvjPKcPNS1_3OptE: 0xF36F1C66 _ZN3paf9AllocatorD0Ev: 0x79F13D72 _ZN3paf9AllocatorD1Ev: 0x25238A3A _ZN3paf9AllocatorD2Ev: 0x4A434F81 + _ZN3paf9LocalFile10CloseAsyncEv: 0xF035266A + _ZN3paf9LocalFile10LseekAsyncExiP15SceIoAsyncParam: 0xCE5848E1 + _ZN3paf9LocalFile10WriteAsyncEPKvj: 0x79277F10 + _ZN3paf9LocalFile11CancelAsyncEv: 0xD184BC69 + _ZN3paf9LocalFile11SetPriorityEj: 0x718411BE + _ZN3paf9LocalFile4OpenEPKcii: 0x499F4FAA + _ZN3paf9LocalFile4ReadEPvj: 0xBD49E2B3 + _ZN3paf9LocalFile4SyncEv: 0x4A447655 + _ZN3paf9LocalFile5CloseEv: 0x00383A45 + _ZN3paf9LocalFile5LseekExiP15SceIoAsyncParam: 0x99AAA9F7 + _ZN3paf9LocalFile5WriteEPKvj: 0x5A26025A + _ZN3paf9LocalFile7GetSizeEv: 0xAF6A9878 + _ZN3paf9LocalFile7GetStatEP9SceIoStat: 0x5BEF2351 + _ZN3paf9LocalFile7GetTypeEv: 0x7D13C35B + _ZN3paf9LocalFile8IsOpenedEv: 0x74D9B6F4 + _ZN3paf9LocalFile9OpenAsyncEPKcii: 0x20F863FD + _ZN3paf9LocalFile9PollAsyncEPNS1_11AsyncResultE: 0x3636127A + _ZN3paf9LocalFile9ReadAsyncEPvj: 0x0CD740C5 + _ZN3paf9LocalFile9SyncAsyncEv: 0x439847D5 + _ZN3paf9LocalFile9WaitAsyncEPNS1_11AsyncResultE: 0x01A03F2E + _ZN3paf9LocalFileC1EPNS_9AllocatorE: 0xBEDFC256 + _ZN3paf9LocalFileC1Ev: 0xDFE98F6E + _ZN3paf9LocalFileC2EPNS_9AllocatorE: 0xD2DB93D0 + _ZN3paf9LocalFileC2Ev: 0x20ACD611 + _ZN3paf9LocalFileD0Ev: 0xF42CA10F + _ZN3paf9LocalFileD1Ev: 0x932FCF17 + _ZN3paf9LocalFileD2Ev: 0x71A0A754 scePafMiscInitializeInputMethodExt: 0xAC108E50 ScePafResource: nid: 0x2836DC9B @@ -286,6 +414,9 @@ modules: sce_paf_wmemcpy: 0x19B5B91D sce_paf_wmemmove: 0x468A09B1 sce_paf_wmemset: 0x36890967 + variables: + _ZN3paf6String4nullE: 0x610F2F91 + _ZN3paf7WString4nullE: 0xB4A712A7 ScePafThread: nid: 0x54276D19 functions: @@ -341,6 +472,8 @@ modules: _ZN3paf6thread6Thread16GetMainThreadUIDEi: 0xC6F80BB3 _ZN3paf6thread6Thread16SetMainThreadUIDEi: 0xFE2DC4FE _ZN3paf6thread6Thread19InternalThreadEntryEjPv: 0x918D89FC + _ZN3paf6thread6Thread3OptC1Ev: 0x5712350E + _ZN3paf6thread6Thread3OptC2Ev: 0xCC65DF88 _ZN3paf6thread6Thread4JoinEv: 0xC5F24067 _ZN3paf6thread6Thread4SelfEv: 0x7E669E6E _ZN3paf6thread6Thread5SleepEj: 0x651F4F81 @@ -363,10 +496,10 @@ modules: _ZN3paf6thread8JobQueue4ItemD1Ev: 0x88DA7B11 _ZN3paf6thread8JobQueue4ItemD2Ev: 0xE639D331 _ZN3paf6thread8JobQueue4JoinEv: 0x789B263C - _ZN3paf6thread8JobQueue4PushEPNS1_4ItemE: 0x93F7A9D6 - _ZN3paf6thread8JobQueue7ExecuteEv: 0x88061E60 + _ZN3paf6thread8JobQueue4PushEPNS1_9ItemParamE: 0x93F7A9D6 + _ZN3paf6thread8JobQueue6FinishEv: 0x88061E60 + _ZN3paf6thread8JobQueue7ExecuteEv: 0x90A23616 _ZN3paf6thread8JobQueue7GetSizeEv: 0xA59ABB3B - _ZN3paf6thread8JobQueue8Execute2Ev: 0x90A23616 _ZN3paf6thread8JobQueueC1EPKcPNS1_3OptE: 0xEEDBA99E _ZN3paf6thread8JobQueueC2EPKcPNS1_3OptE: 0x7A98D9E5 _ZN3paf6thread8JobQueueD1Ev: 0x1ABA2C42 @@ -377,8 +510,6 @@ modules: _ZN3paf6thread8SyncCallC2EPKc: 0x94138DD2 _ZN3paf6thread8SyncCallD1Ev: 0xF17CAAB0 _ZN3paf6thread8SyncCallD2Ev: 0xA8DB7042 - _ZN3paf6thread9ThreadOptC1Ev: 0x5712350E - _ZN3paf6thread9ThreadOptC2Ev: 0xCC65DF88 variables: _ZN3paf6thread5Queue17s_mainThreadQueueE: 0x83CE85DD _ZN3paf6thread8JobQueue17s_defaultJobQueueE: 0x83970927 @@ -386,16 +517,20 @@ modules: ScePafToplevel: nid: 0x4D9A9DD0 functions: - _ZN3paf6Plugin13SetRootWidgetEPNS_8Resource7ElementEPNS0_19RootWidgetInitParamE: 0x30B442D9 + _ZN3paf6Plugin11CreateSceneEPNS_8Resource7ElementEPNS0_14SceneInitParamE: 0x30B442D9 + _ZN3paf6Plugin11LoadTextureEPNS_8graphics7TextureEPS0_PNS_8Resource7ElementE: 0x38FFFE8E + _ZN3paf6Plugin14GetSceneByHashEPNS_8Resource7ElementE: 0xE1DC7DF5 + _ZN3paf6Plugin14GetWidgetByNumEj: 0x1DF2C6FD + _ZN3paf6Plugin14SceneInitParamC1Ev: 0x34FE1331 _ZN3paf6Plugin17TemplateInitParamC1Ev: 0x99300D8B - _ZN3paf6Plugin19GetRootWidgetByHashEPNS_8Resource7ElementE: 0xE1DC7DF5 - _ZN3paf6Plugin19RootWidgetInitParamC1Ev: 0x34FE1331 _ZN3paf6Plugin21AddWidgetFromTemplateEPNS_6widget6WidgetEPNS_8Resource7ElementEPNS0_17TemplateInitParamE: 0xAB0DB9B0 + _ZN3paf6Plugin21CreateWidgetWithStyleEPNS_6widget6WidgetEPKcPNS_8Resource7ElementES8_: 0x923F763A _ZN3paf6Plugin9GetByNameEPKc: 0x004D98CC + _ZN3paf6Plugin9GetStringEPNS_8Resource7ElementE: 0x19CEFDA7 _ZN3paf9Framework10LoadPluginEPNS0_15PluginInitParamEPFvPNS_6PluginEES6_: 0xBE479650 + _ZN3paf9Framework11GetCRStringEPNS_8Resource7ElementE: 0x85A057E3 _ZN3paf9Framework11GetInstanceEv: 0xF72FC59E - _ZN3paf9Framework11LoadTextureEPNS_8graphics7TextureEPS0_PNS_8Resource7ElementE: 0x7191797C - _ZN3paf9Framework13GetRootWidgetEv: 0x2FB738A8 + _ZN3paf9Framework15GetCurrentSceneEv: 0x2FB738A8 _ZN3paf9Framework15LoadPluginAsyncEPNS0_15PluginInitParamEPFvPNS_6PluginEES6_: 0xF702E40A _ZN3paf9Framework15PluginInitParamC1Ev: 0x400F84CE _ZN3paf9Framework15PluginInitParamC2Ev: 0x58C1A580 @@ -409,8 +544,10 @@ modules: _ZN3paf9Framework21GetFwLangBySystemLangEj: 0x1AEDE4E0 _ZN3paf9Framework23CommonResourceInitParamC1Ev: 0x7C8CF5E8 _ZN3paf9Framework23CommonResourceInitParamC2Ev: 0x99DD7850 + _ZN3paf9Framework23CreateTextureFromMemoryEPNS_8graphics7TextureEPNS_6PluginEPvjNS_5Image4TypeEij: 0xF13D2937 _ZN3paf9Framework23LoadCommonResourceAsyncEPFvvE: 0x3F0DB1BF _ZN3paf9Framework23LoadCommonResourceAsyncEPNS0_23CommonResourceInitParamEPFvvE: 0x9E5E0C9C + _ZN3paf9Framework24LoadTextureCurrentPluginEPNS_8graphics7TextureEPS0_PNS_8Resource7ElementE: 0x7191797C _ZN3paf9Framework25InitializeDefaultJobQueueEv: 0x7C624212 _ZN3paf9Framework28GetDefaultGraphicsMemoryPoolEv: 0xA0896F7F _ZN3paf9Framework9InitParam17LoadDefaultParamsEv: 0x907BA948 @@ -423,6 +560,11 @@ modules: ScePafWidget: nid: 0x073F8C68 functions: + _ZN3paf6widget10ScrollViewC1EPNS0_6WidgetEi: 0x46DE1318 + _ZN3paf6widget10ScrollViewC2EPNS0_6WidgetEi: 0xCC28BB62 + _ZN3paf6widget10ScrollViewD0Ev: 0x1EA76BAE + _ZN3paf6widget10ScrollViewD1Ev: 0xE024C815 + _ZN3paf6widget10ScrollViewD2Ev: 0x3EB61E47 _ZN3paf6widget11AppIconBaseC1EPNS0_6WidgetEi: 0x2D4FBF97 _ZN3paf6widget11AppIconBaseC2EPNS0_6WidgetEi: 0xCBB40BFB _ZN3paf6widget11ImageButtonC1EPNS0_6WidgetEi: 0x1F8C6717 @@ -484,11 +626,11 @@ modules: _ZN3paf6widget16ProgressBarTouchD0Ev: 0xD13E0F08 _ZN3paf6widget16ProgressBarTouchD1Ev: 0x41ED9224 _ZN3paf6widget16ProgressBarTouchD2Ev: 0x35FA4988 - _ZN3paf6widget16ScrollViewParentC1EPNS0_6WidgetEi: 0x46DE1318 - _ZN3paf6widget16ScrollViewParentC2EPNS0_6WidgetEi: 0xCC28BB62 - _ZN3paf6widget16ScrollViewParentD0Ev: 0x1EA76BAE - _ZN3paf6widget16ScrollViewParentD1Ev: 0xE024C815 - _ZN3paf6widget16ScrollViewParentD2Ev: 0x3EB61E47 + _ZN3paf6widget16ScrollViewParentC1EPNS0_6WidgetEi: 0x2F75E51D + _ZN3paf6widget16ScrollViewParentC2EPNS0_6WidgetEi: 0xAD03A4B6 + _ZN3paf6widget16ScrollViewParentD0Ev: 0xF22A1F37 + _ZN3paf6widget16ScrollViewParentD1Ev: 0x5BC1A611 + _ZN3paf6widget16ScrollViewParentD2Ev: 0x08C31745 _ZN3paf6widget3BoxC1EPNS0_6WidgetEi: 0xBE20C3D9 _ZN3paf6widget3BoxC2EPNS0_6WidgetEi: 0x5CB29873 _ZN3paf6widget3BoxD0Ev: 0xBA7ACC3E @@ -517,7 +659,6 @@ modules: _ZN3paf6widget6Widget11TypeNumSpinEv: 0xE055FBA3 _ZN3paf6widget6Widget11TypeTextBoxEv: 0xBE985097 _ZN3paf6widget6Widget12AssignButtonEj: 0x21125870 - _ZN3paf6widget6Widget12SetDimFactorEfiiiii: 0x543F0959 _ZN3paf6widget6Widget12TypeCheckBoxEv: 0x8EC2F0BF _ZN3paf6widget6Widget12TypeFileListEv: 0x8A33FF2B _ZN3paf6widget6Widget12TypeItemSpinEv: 0x9B72616F @@ -529,11 +670,12 @@ modules: _ZN3paf6widget6Widget12TypeSlideBarEv: 0x63E55B87 _ZN3paf6widget6Widget12TypeSpinBaseEv: 0xDD6D6411 _ZN3paf6widget6Widget13GetChildByNumEj: 0xB8CA08DA - _ZN3paf6widget6Widget13PlayAnimationENS1_9AnimationEPFviPS1_iPvES4_: 0x44B22ACA + _ZN3paf6widget6Widget13PlayAnimationEfNS1_9AnimationEPFviPS1_iPvES4_: 0x44B22ACA _ZN3paf6widget6Widget13TypeAppIcon2DEv: 0xB102817A _ZN3paf6widget6Widget13TypeScrollBarEv: 0xB3878D10 _ZN3paf6widget6Widget14GetChildByHashEPNS_8Resource7ElementEj: 0x9D304F4A _ZN3paf6widget6Widget14SetFilterColorEPKNS1_5ColorEfiiiii: 0x627CDA4E + _ZN3paf6widget6Widget14TypeScrollViewEv: 0xC1680F39 _ZN3paf6widget6Widget15SetTextWithFlag5EPNS_7WStringEi: 0x922FF349 _ZN3paf6widget6Widget15TypeAppIconBaseEv: 0xCDA6ACBE _ZN3paf6widget6Widget15TypeImageButtonEv: 0xBCDBE29A @@ -547,21 +689,23 @@ modules: _ZN3paf6widget6Widget17TypeImageSlidebarEv: 0xBEEE0DCA _ZN3paf6widget6Widget17TypeSlidingDrawerEv: 0x167D054C _ZN3paf6widget6Widget18TypeScrollBarTouchEv: 0xF64A59EF + _ZN3paf6widget6Widget19SetGraphicsDisabledEi: 0x23C283D3 _ZN3paf6widget6Widget19TypeCompositeButtonEv: 0xE3AFE3D2 _ZN3paf6widget6Widget19TypeCompositeDrawerEv: 0x8A9DDAE6 - _ZN3paf6widget6Widget20PlayAnimationReverseENS1_9AnimationEPFviPS1_iPvES4_: 0xF1176ACC + _ZN3paf6widget6Widget20PlayAnimationReverseEfNS1_9AnimationEPFviPS1_iPvES4_: 0xF1176ACC _ZN3paf6widget6Widget20TypeProgressBarTouchEv: 0xD3057352 _ZN3paf6widget6Widget20TypeScrollViewParentEv: 0xDA94A4AE _ZN3paf6widget6Widget21RegisterEventCallbackEiPNS1_13EventCallbackEi: 0xFB7FE189 + _ZN3paf6widget6Widget23RegisterFwEventCallbackEfiPNS1_13EventCallbackE: 0x6E3EEF4E _ZN3paf6widget6Widget23UnregisterEventCallbackEiii: 0xB98D49AD - _ZN3paf6widget6Widget25RegisterLoopEventCallbackEiPNS1_13EventCallbackE: 0x6E3EEF4E - _ZN3paf6widget6Widget27UnregisterLoopEventCallbackEi: 0x8F09D12E + _ZN3paf6widget6Widget25UnregisterFwEventCallbackEi: 0x8F09D12E _ZN3paf6widget6Widget6EnableEi: 0x8F1A3A59 _ZN3paf6widget6Widget7DisableEi: 0xA1173889 _ZN3paf6widget6Widget7SetSizeEPK11SceFVector4fiiiii: 0x046AA07D _ZN3paf6widget6Widget7SetZoomEPK11SceFVector4fiiiii: 0xEE467CF8 _ZN3paf6widget6Widget7TypeBoxEv: 0x3A28435A _ZN3paf6widget6Widget8GetColorENS1_5Color4TypeEiPS2_: 0xF3281F1C + _ZN3paf6widget6Widget8SetAlphaEfiiiii: 0x543F0959 _ZN3paf6widget6Widget8SetColorENS1_5Color4TypeEiiPKS2_: 0xCD20EF38 _ZN3paf6widget6Widget8TypeTextEv: 0x45AA2058 _ZN3paf6widget6Widget9GetParentEv: 0xCFA1EB7A |