Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add missing structure definitions, fix existing. #213

Open
wants to merge 25 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions include/orbis/NpTrophy.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@
extern "C" {
#endif

int32_t sceNpTrophyAbortHandle(int32_t a_handle);
int32_t sceNpTrophyCaptureScreenshot(int32_t a_handle, const OrbisNpTrophyScreenshotTarget* a_target, int32_t a_numTargets);
int32_t sceNpTrophyCreateContext(int32_t* a_context, int32_t a_userID, uint32_t a_serviceLabel, uint64_t a_options);
int32_t sceNpTrophyCreateHandle(int32_t* a_handle);
int32_t sceNpTrophyDestroyContext(int32_t a_context);
int32_t sceNpTrophyDestroyHandle(int32_t a_handle);
int32_t sceNpTrophyGetGameIcon(int32_t a_context, int32_t a_handle, void* a_buffer, size_t* a_size);
int32_t sceNpTrophyGetGameInfo(int32_t a_context, int32_t a_handle, OrbisNpTrophyGameDetails* a_details, OrbisNpTrophyGameData*);
int32_t sceNpTrophyGetGroupIcon(int32_t a_context, int32_t a_handle, int32_t a_groupID, void* a_buffer, size_t* a_size);
int32_t sceNpTrophyGetGroupInfo(int32_t a_context, int32_t a_handle, int32_t a_groupID, OrbisNpTrophyGroupDetails* a_details, OrbisNpTrophyGroupData* a_data);
int32_t sceNpTrophyGetTrophyIcon(int32_t a_context, int32_t a_handle, int32_t a_trophyID, void* a_buffer, size_t* a_size);
int32_t sceNpTrophyGetTrophyInfo(int32_t a_context, int32_t a_handle, int32_t a_trophyID, OrbisNpTrophyDetails* a_details, OrbisNpTrophyData* a_data);
int32_t sceNpTrophyGetTrophyUnlockState(int32_t a_context, int32_t a_handle, OrbisNpTrophyFlagArray* a_flags, uint32_t* a_count);
int32_t sceNpTrophyRegisterContext(int32_t a_context, int32_t a_handle, uint64_t a_options);
int32_t sceNpTrophyShowTrophyList(int32_t a_context, int32_t a_handle);
int32_t sceNpTrophyUnlockTrophy(int32_t a_context, int32_t a_handle, int32_t a_trophyID, int32_t *a_platinumId);
int32_t sceNpTrophyAbortHandle(int32_t handle);
int32_t sceNpTrophyCaptureScreenshot(int32_t handle, const OrbisNpTrophyScreenshotTarget* target, int32_t numTargets);
int32_t sceNpTrophyCreateContext(int32_t* context, int32_t userID, uint32_t serviceLabel, uint64_t options);
int32_t sceNpTrophyCreateHandle(int32_t* handle);
int32_t sceNpTrophyDestroyContext(int32_t context);
int32_t sceNpTrophyDestroyHandle(int32_t handle);
int32_t sceNpTrophyGetGameIcon(int32_t context, int32_t handle, void* buffer, size_t* size);
int32_t sceNpTrophyGetGameInfo(int32_t context, int32_t handle, OrbisNpTrophyGameDetails* details, OrbisNpTrophyGameData* data);
int32_t sceNpTrophyGetGroupIcon(int32_t context, int32_t handle, int32_t groupID, void* buffer, size_t* size);
int32_t sceNpTrophyGetGroupInfo(int32_t context, int32_t handle, int32_t groupID, OrbisNpTrophyGroupDetails* details, OrbisNpTrophyGroupData* data);
int32_t sceNpTrophyGetTrophyIcon(int32_t context, int32_t handle, int32_t trophyID, void* buffer, size_t* size);
int32_t sceNpTrophyGetTrophyInfo(int32_t context, int32_t handle, int32_t trophyID, OrbisNpTrophyDetails* details, OrbisNpTrophyData* data);
int32_t sceNpTrophyGetTrophyUnlockState(int32_t context, int32_t handle, OrbisNpTrophyFlagArray* flags, uint32_t* count);
int32_t sceNpTrophyRegisterContext(int32_t context, int32_t handle, uint64_t options);
int32_t sceNpTrophyShowTrophyList(int32_t context, int32_t handle);
int32_t sceNpTrophyUnlockTrophy(int32_t context, int32_t handle, int32_t trophyID, int32_t *platinumId);

void sceNpTrophySystemIsServerAvailable();
void sceNpTrophyIntAbortHandle();
Expand Down
67 changes: 34 additions & 33 deletions include/orbis/Rtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,45 @@
#include <time.h>

#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif

int32_t sceRtcCheckValid(OrbisRtcDateTime *input);
int32_t sceRtcGetTick(const OrbisRtcDateTime *outOrbisRtcDateTime, OrbisRtcTick *outTick);
int32_t sceRtcSetTick(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick);
int32_t sceRtcTickAddDays(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t days);
int32_t sceRtcTickAddHours(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t hours);
int32_t sceRtcTickAddMicroseconds(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int64_t msecs);
int32_t sceRtcTickAddMinutes(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t mins);
int32_t sceRtcTickAddMonths(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t months);
int32_t sceRtcTickAddSeconds(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int64_t seconds);
int32_t sceRtcTickAddTicks(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int64_t ticks);
int32_t sceRtcTickAddWeeks(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t weeks);
int32_t sceRtcTickAddYears(OrbisRtcDateTime *inputOrbisRtcDateTime, OrbisRtcTick *inputTick, int32_t years);
int32_t sceRtcConvertLocalTimeToUtc(OrbisRtcTick*, OrbisRtcTick*);
int32_t sceRtcConvertUtcToLocalTime(OrbisRtcTick*, OrbisRtcTick*);
int32_t sceRtcGetCurrentClock(OrbisRtcDateTime*);
int32_t sceRtcGetCurrentClockLocalTime(OrbisRtcDateTime*);
int32_t sceRtcGetCurrentNetworkTick(OrbisRtcTick*);
int32_t sceRtcGetCurrentTick(OrbisRtcTick*);
int32_t sceRtcCheckValid(const OrbisRtcDateTime* time);
int32_t sceRtcGetTick(const OrbisRtcDateTime* time, OrbisRtcTick* tick);
int32_t sceRtcSetTick(OrbisRtcDateTime* time, const OrbisRtcTick* tick);
int32_t sceRtcTickAddDays(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcTickAddHours(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcTickAddMicroseconds(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int64_t add);
int32_t sceRtcTickAddMinutes(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcTickAddMonths(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcTickAddSeconds(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int64_t add);
int32_t sceRtcTickAddTicks(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int64_t add);
int32_t sceRtcTickAddWeeks(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcTickAddYears(OrbisRtcDateTime* tick, const OrbisRtcTick* tick1, int32_t add);
int32_t sceRtcConvertLocalTimeToUtc(const OrbisRtcTick* localtime, OrbisRtcTick* utc);
int32_t sceRtcConvertUtcToLocalTime(const OrbisRtcTick* utc, OrbisRtcTick* localtime);
int32_t sceRtcGetCurrentClock(OrbisRtcDateTime* time, int32_t timezone);
int32_t sceRtcGetCurrentClockLocalTime(OrbisRtcDateTime* time);
int32_t sceRtcGetCurrentNetworkTick(OrbisRtcTick* tick);
int32_t sceRtcGetCurrentTick(OrbisRtcTick* tick);
int32_t sceRtcGetDaysInMonth(int32_t year, int32_t month);
int32_t sceRtcIsLeapYear(int32_t year);
int32_t sceRtcParseRFC3339(OrbisRtcTick*, const char*);
int32_t sceRtcParseDateTime(OrbisRtcTick*, const char*);
int32_t sceRtcFormatRFC3339LocalTime(char*, OrbisRtcTick*);
int32_t sceRtcFormatRFC3339(char*, OrbisRtcTick*, int32_t);
int32_t sceRtcFormatRFC2822LocalTime(char*, OrbisRtcTick*);
int32_t sceRtcFormatRFC2822(char*, OrbisRtcTick*, int32_t);
int32_t sceRtcGetDayOfWeek(int32_t y, int32_t m, int32_t d);
int32_t sceRtcGetTime_t(OrbisRtcDateTime*, time_t*);
int32_t sceRtcSetTime_t(OrbisRtcDateTime*, time_t);
int32_t sceRtcGetDosTime(OrbisRtcDateTime*, uint32_t*);
int32_t sceRtcSetWin32FileTime(OrbisRtcDateTime*, uint64_t);
int32_t sceRtcGetWin32FileTime(OrbisRtcDateTime*, uint64_t*);
int32_t sceRtcSetDosTime(OrbisRtcDateTime*, uint32_t);

int32_t sceRtcParseRFC3339(OrbisRtcTick* utc, const char* datetime);
int32_t sceRtcParseDateTime(OrbisRtcTick* utc, const char* datetime);
int32_t sceRtcFormatRFC3339LocalTime(char* datetime, const OrbisRtcTick* utc);
int32_t sceRtcFormatRFC3339(char* datetime, const OrbisRtcTick* utc, int32_t timezoneMinutes);
int32_t sceRtcFormatRFC2822LocalTime(char* datetime, const OrbisRtcTick* utc);
int32_t sceRtcFormatRFC2822(char* datetime, const OrbisRtcTick* utc, int32_t timezoneMinutes);
int32_t sceRtcGetDayOfWeek(int32_t year, int32_t month, int32_t day);
int32_t sceRtcGetTime_t(const OrbisRtcDateTime* rtctime, time_t* time);
int32_t sceRtcSetTime_t(OrbisRtcDateTime* rtctime, time_t time);
int32_t sceRtcGetDosTime(const OrbisRtcDateTime* time, uint32_t* dosTime);
int32_t sceRtcSetWin32FileTime(OrbisRtcDateTime* time, uint64_t win32Time);
int32_t sceRtcGetWin32FileTime(const OrbisRtcDateTime* time, uint64_t* win32Time);
int32_t sceRtcSetDosTime(OrbisRtcDateTime* Time, uint32_t dosTime);
uint32_t sceRtcGetTickResolution();

int32_t sceRtcGetCurrentDebugNetworkTick();
int32_t sceRtcGetCurrentAdNetworkTick();
int32_t sceRtcCompareTick();
Expand Down
30 changes: 14 additions & 16 deletions include/orbis/SystemService.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,35 +11,33 @@ extern "C"
#endif

int32_t sceSystemServiceLoadExec(const char *path, const char *args[]);
int32_t sceSystemServiceShowControllerSettings();
int32_t sceSystemServiceParamGetInt(int32_t paramId, int32_t *value);
int32_t sceSystemServiceParamGetString(int32_t paramId, char *buf, size_t bufSize);
int32_t sceSystemServiceIsEyeToEyeDistanceAdjusted(int32_t userId, bool* isAdjusted);
int32_t sceSystemServiceReportAbnormalTermination(const void* info);
int32_t sceSystemServiceLaunchTournamentsTeamProfile(int32_t userId, const char* teamId, const char* eventId, const char* teamPlatform);
int32_t sceSystemServiceLaunchEventDetails(int32_t userId, const char* eventId);
int32_t sceSystemServiceLaunchWebBrowser(const char* uri, const OrbisSystemServiceLaunchWebBrowserParam* param);
int32_t sceSystemServiceGetDisplaySafeAreaInfo(OrbisSystemServiceDisplaySafeAreaInfo* info);
int32_t sceSystemServiceSetGpuLoadEmulationMode(OrbisSystemServiceGpuLoadEmulationMode);
int32_t sceSystemServiceGetStatus(OrbisSystemServiceStatus* status);
int32_t sceSystemServiceReceiveEvent(OrbisSystemServiceEvent* event);
int32_t sceLncUtilLaunchApp(const char* titleId, const char* argv[], LncAppParam* param);
int32_t sceSystemServiceKillApp(uint32_t appid, int32_t opt, int32_t method, int32_t reason);
int32_t sceSystemServiceShowControllerSettings();
int32_t sceSystemServiceHideSplashScreen();
int32_t sceSystemServiceEnablePersonalEyeToEyeDistanceSetting();
int32_t sceSystemServiceDisablePersonalEyeToEyeDistanceSetting();
int32_t sceSystemServiceShowEyeToEyeDistanceSetting();
int32_t sceSystemServiceIsEyeToEyeDistanceAdjusted(int32_t, bool*);
int32_t sceSystemServiceReportAbnormalTermination(void*);
int32_t sceSystemServiceDisableSuspendConfirmationDialog();
int32_t sceSystemServiceEnableSuspendConfirmationDialog();
int32_t sceSystemServicePowerTick();
int32_t sceSystemServiceLaunchTournamentsTeamProfile(int32_t, const char*, const char*, const char*);
int32_t sceSystemServiceLaunchEventDetails(int32_t, const char*);
int32_t sceSystemServiceLaunchWebBrowser(const char*, OrbisSystemServiceLaunchWebBrowserParam*);
int32_t sceSystemServiceShowDisplaySafeAreaSettings();
int32_t sceSystemServiceGetDisplaySafeAreaInfo(OrbisSystemServiceDisplaySafeAreaInfo*);
OrbisSystemServiceGpuLoadEmulationMode sceSystemServiceGetGpuLoadEmulationMode();
int32_t sceSystemServiceSetGpuLoadEmulationMode(OrbisSystemServiceGpuLoadEmulationMode);
int32_t sceSystemServiceReenableMusicPlayer();
int32_t sceSystemServiceDisableMusicPlayer();
int32_t sceSystemServiceGetStatus(OrbisSystemServiceStatus*);
int32_t sceSystemServiceReceiveEvent(OrbisSystemServiceEvent*);
int32_t sceSystemServiceHideSplashScreen(void);
int32_t sceSystemServiceParamGetInt(int32_t paramId, int32_t *value);
int32_t sceSystemServiceParamGetString(int32_t paramId, char *buf, size_t bufSize);
int32_t sceSystemServiceGetAppIdOfBigApp(void);
int32_t sceSystemServiceGetAppIdOfMiniApp(void);
int32_t sceSystemServiceKillApp(uint32_t appid, int opt, int method, int reason);
int32_t sceSystemServiceGetAppIdOfBigApp();
int32_t sceSystemServiceGetAppIdOfMiniApp();

void sceSystemServiceAcquireFb0();
void sceSystemServiceAddLocalProcess();
Expand Down
17 changes: 8 additions & 9 deletions include/orbis/Videodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,19 @@
#include "_types/videodec.h"

#ifdef __cplusplus
extern "C" {
extern "C"
{
#endif

int32_t sceVideodecCreateDecoder(const OrbisVideodecConfigInfo*, const OrbisVideodecResourceInfo*, OrbisVideodecCtrl*);
int32_t sceVideodecDecode(OrbisVideodecCtrl*, const OrbisVideodecInputData*, OrbisVideodecFrameBuffer*, OrbisVideodecPictureInfo*);
int32_t sceVideodecFlush(OrbisVideodecCtrl*, OrbisVideodecFrameBuffer*, OrbisVideodecPictureInfo*);
int32_t sceVideodecQueryResourceInfo(const OrbisVideodecConfigInfo*, OrbisVideodecResourceInfo*);
int32_t sceVideodecReset(OrbisVideodecCtrl*);
int32_t sceVideodecDeleteDecoder(OrbisVideodecCtrl*);
int32_t sceVideodecCreateDecoder(const OrbisVideodecConfigInfo* CfgInfoIn, const OrbisVideodecResourceInfo* RsrcInfoIn, OrbisVideodecCtrl* CtrlOut);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lowerCamelCase

int32_t sceVideodecDecode(OrbisVideodecCtrl* CtrlIn, const OrbisVideodecInputData* InputDataIn, OrbisVideodecFrameBuffer* FrameBufferInOut, OrbisVideodecPictureInfo* PictureInfoOut);
int32_t sceVideodecFlush(OrbisVideodecCtrl* CtrlIn, OrbisVideodecFrameBuffer* FrameBufferInOut, OrbisVideodecPictureInfo* PictureInfoOut);
int32_t sceVideodecQueryResourceInfo(const OrbisVideodecConfigInfo* CfgInfoIn, OrbisVideodecResourceInfo* RsrcInfoOut);
int32_t sceVideodecReset(OrbisVideodecCtrl* CfgInfoIn);
int32_t sceVideodecDeleteDecoder(OrbisVideodecCtrl* CfgInfoIn);

//
void sceVideodecMapMemory();


#ifdef __cplusplus
}
#endif
Expand Down
20 changes: 10 additions & 10 deletions include/orbis/Videodec2.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ extern "C"
{
#endif

int32_t sceVideodec2AllocateComputeQueue(const OrbisVideodec2ComputeConfigInfo*, const OrbisVideodec2ComputeMemoryInfo*, void**);
int32_t sceVideodec2CreateDecoder(const OrbisVideodec2DecoderConfigInfo*, const OrbisVideodec2DecoderMemoryInfo*, void**);
int32_t sceVideodec2Decode(void*, const OrbisVideodec2InputData*, OrbisVideodec2FrameBuffer* , OrbisVideodec2OutputInfo*);
int32_t sceVideodec2Flush(void* , OrbisVideodec2FrameBuffer* , OrbisVideodec2OutputInfo*);
int32_t sceVideodec2GetPictureInfo(const OrbisVideodec2OutputInfo* , void* , void*);
int32_t sceVideodec2QueryComputeMemoryInfo(OrbisVideodec2ComputeMemoryInfo*);
int32_t sceVideodec2QueryDecoderMemoryInfo(const OrbisVideodec2DecoderConfigInfo*, OrbisVideodec2DecoderMemoryInfo*);
int32_t sceVideodec2ReleaseComputeQueue(void*);
int32_t sceVideodec2Reset(void*);
int32_t sceVideodec2DeleteDecoder(void*);
int32_t sceVideodec2AllocateComputeQueue(const OrbisVideodec2ComputeConfigInfo* ComputeCfgInfoIn, const OrbisVideodec2ComputeMemoryInfo* ComputeMemInfoIn, void** ComputeQueueOut);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lowerCamelCase

int32_t sceVideodec2CreateDecoder(const OrbisVideodec2DecoderConfigInfo* DecoderConfigInfoIn, const OrbisVideodec2DecoderMemoryInfo* DecoderMemoryInfoIn, void** DecoderInstanceOut);
int32_t sceVideodec2Decode(void* decoderInstanceIn, const OrbisVideodec2InputData* InputDataInOut, OrbisVideodec2FrameBuffer* FrameBufferInOut, OrbisVideodec2OutputInfo* OutputInfoOut);
int32_t sceVideodec2Flush(void* decoderInstanceIn, OrbisVideodec2FrameBuffer* FrameBufferInOut, OrbisVideodec2OutputInfo* OutputInfoOut);
int32_t sceVideodec2GetPictureInfo(const OrbisVideodec2OutputInfo* OutputInfoIn, void* p1stPictureInfoOut, void* p2ndPictureInfoOut);
int32_t sceVideodec2QueryComputeMemoryInfo(OrbisVideodec2ComputeMemoryInfo* ComputeMemInfoOut);
int32_t sceVideodec2QueryDecoderMemoryInfo(const OrbisVideodec2DecoderConfigInfo* DecoderConfigInfoIn, OrbisVideodec2DecoderMemoryInfo* DecoderMemoryInfoOut);
int32_t sceVideodec2ReleaseComputeQueue(void* computeQueueIn);
int32_t sceVideodec2Reset(void* decoderInstanceIn);
int32_t sceVideodec2DeleteDecoder(void* decoderInstanceIn);

void sceVideodec2CreateHevcDecoder();

Expand Down
18 changes: 9 additions & 9 deletions include/orbis/_types/Np.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ typedef struct OrbisNpTrophyGroupData
uint32_t unlockedSilver;
uint32_t unlockedBronze;
uint32_t progressPercentage;
uint8_t UNK00[4];
uint8_t reserved[4];
} OrbisNpTrophyGroupData;

//
Expand All @@ -66,7 +66,7 @@ typedef struct OrbisNpTrophyDetails
int32_t trophyGrade; // gold/silver/bronze/Platinum
int32_t groupId; // group where the trophy is located(normally 0 for single group trophy packs, depending on how many trophies exists and are split into groups inside the pack this could rage from 0 - xxxx)
bool hidden; // this determines if you can see the trophy before its unlocked(hidden flagged trophys will not allow you to see the description until you have unlcoked them)
char Unk02[3]; // Unkown data
char reserved[3]; // Unkown data
char name[128]; // Trophy Name, EX: "UNLOCK ME"
char description[1024]; // Description, EX: "This is what needs to be unlocked"
} OrbisNpTrophyDetails;
Expand All @@ -77,7 +77,7 @@ typedef struct OrbisNpTrophyData
size_t size; // this needs to be set with sizeof(OrbisNpTrophyData) or any function that takes this structure as a parameter will return a error(0x80551604)
int32_t trophyId; // Trophy ID, 1-XXXX(0 should be the Platinum Trophy)
bool unlocked; // flag that tells if the user has unlocked the Trophy)
char Unk00[3]; // likely padding, not sure why they didn't make unlocked a 32-bit value and swap a single bit for it, it would make it automaticlly alligned.
char reserved[3]; // likely padding, not sure why they didn't make unlocked a 32-bit value and swap a single bit for it, it would make it automaticlly alligned.
OrbisRtcTick timestamp; // RTC time stamp of when the trophy is unlocked(this isn't fully accurate due to the RTC drifting, it can be off anywhere from +1 second to a whole minute+ behind.)
} OrbisNpTrophyData;

Expand All @@ -88,18 +88,18 @@ typedef struct OrbisNpTrophyScreenshotTarget
} OrbisNpTrophyScreenshotTarget;

/* Np Online*/
//
// is this meant to represent a c-string but wrapped in a structure?
typedef struct OrbisNpOnlineId
{
char data[16]; // account name, follows PSN schema, min 3/max 16
char term; // terminator, always '\0'?
uint8_t UNK[3]; // Unkown, probably reserved/padding?
char data[16]; // account name, follows PSN schema, min 3/max 16
char term; // terminator, always '\0'?
uint8_t pad11[3]; // Unkown, probably reserved/padding?
} OrbisNpOnlineId;

//
typedef struct OrbisNpId
{
OrbisNpOnlineId handle;
uint8_t Unk20[8];
uint8_t Unk28[8];
uint8_t opt[8];
uint8_t reserved[8];
} OrbisNpId;
Loading