mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-16 03:38:38 +12:00
Some functions added
This commit is contained in:
parent
6cab4d7100
commit
bdd458d2ae
10 changed files with 2946 additions and 174 deletions
|
@ -1,9 +1,213 @@
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
|
#include "sceNpCommon.h"
|
||||||
|
|
||||||
extern psv_log_base sceNpBasic;
|
extern psv_log_base sceNpBasic;
|
||||||
|
|
||||||
|
enum SceNpBasicFriendListEventType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_FRIEND_LIST_EVENT_TYPE_SYNC = 1,
|
||||||
|
SCE_NP_BASIC_FRIEND_LIST_EVENT_TYPE_SYNC_DONE = 2,
|
||||||
|
SCE_NP_BASIC_FRIEND_LIST_EVENT_TYPE_ADDED = 3,
|
||||||
|
SCE_NP_BASIC_FRIEND_LIST_EVENT_TYPE_DELETED = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(SceNpBasicFriendListEventType eventType, vm::psv::ptr<const SceNpId> friendId, vm::psv::ptr<void> userdata)> SceNpBasicFriendListEventHandler;
|
||||||
|
|
||||||
|
enum SceNpBasicFriendOnlineStatusEventType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_EVENT_TYPE_SYNC = 1,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_EVENT_TYPE_SYNC_DONE = 2,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_EVENT_TYPE_UPDATED = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
enum SceNpBasicFriendOnlineStatus : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_UNKNOWN = 0,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_OFFLINE = 1,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_STANDBY = 2,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_ONLINE_OUT_OF_CONTEXT = 3,
|
||||||
|
SCE_NP_BASIC_FRIEND_ONLINE_STATUS_ONLINE_IN_CONTEXT = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(SceNpBasicFriendOnlineStatusEventType eventType, vm::psv::ptr<const SceNpId> friendId, SceNpBasicFriendOnlineStatus status, vm::psv::ptr<void> userdata)> SceNpBasicFriendOnlineStatusEventHandler;
|
||||||
|
|
||||||
|
enum SceNpBasicBlockListEventType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_BLOCK_LIST_EVENT_TYPE_SYNC = 1,
|
||||||
|
SCE_NP_BASIC_BLOCK_LIST_EVENT_TYPE_SYNC_DONE = 2,
|
||||||
|
SCE_NP_BASIC_BLOCK_LIST_EVENT_TYPE_ADDED = 3,
|
||||||
|
SCE_NP_BASIC_BLOCK_LIST_EVENT_TYPE_DELETED = 4
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(SceNpBasicBlockListEventType eventType, vm::psv::ptr<const SceNpId> playerId, vm::psv::ptr<void> userdata)> SceNpBasicBlockListEventHandler;
|
||||||
|
|
||||||
|
enum SceNpBasicFriendGamePresenceEventType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_FRIEND_GAME_PRESENCE_EVENT_TYPE_SYNC = 1,
|
||||||
|
SCE_NP_BASIC_FRIEND_GAME_PRESENCE_EVENT_TYPE_SYNC_DONE = 2,
|
||||||
|
SCE_NP_BASIC_FRIEND_GAME_PRESENCE_EVENT_TYPE_UPDATED = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
enum SceNpBasicInGamePresenceType
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_IN_GAME_PRESENCE_TYPE_UNKNOWN = -1,
|
||||||
|
SCE_NP_BASIC_IN_GAME_PRESENCE_TYPE_NONE = 0,
|
||||||
|
SCE_NP_BASIC_IN_GAME_PRESENCE_TYPE_DEFAULT = 1,
|
||||||
|
SCE_NP_BASIC_IN_GAME_PRESENCE_TYPE_JOINABLE = 2,
|
||||||
|
SCE_NP_BASIC_IN_GAME_PRESENCE_TYPE_MAX = 3
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpBasicInGamePresence
|
||||||
|
{
|
||||||
|
u32 sdkVersion;
|
||||||
|
SceNpBasicInGamePresenceType type;
|
||||||
|
char status[192];
|
||||||
|
u8 data[128];
|
||||||
|
u32 dataSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpBasicGamePresence
|
||||||
|
{
|
||||||
|
u32 size;
|
||||||
|
char title[128];
|
||||||
|
SceNpBasicInGamePresence inGamePresence;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(SceNpBasicFriendGamePresenceEventType eventtype, vm::psv::ptr<const SceNpId> friendId, vm::psv::ptr<const SceNpBasicGamePresence> presence, vm::psv::ptr<void> userdata)> SceNpBasicFriendGamePresenceEventHandler;
|
||||||
|
|
||||||
|
struct SceNpBasicInGameDataMessage
|
||||||
|
{
|
||||||
|
u8 data[128];
|
||||||
|
u32 dataSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(vm::psv::ptr<const SceNpId> from, vm::psv::ptr<const SceNpBasicInGameDataMessage> message, vm::psv::ptr<void> userdata)> SceNpBasicInGameDataMessageEventHandler;
|
||||||
|
|
||||||
|
struct SceNpBasicEventHandlers
|
||||||
|
{
|
||||||
|
u32 sdkVersion;
|
||||||
|
SceNpBasicFriendListEventHandler friendListEventHandler;
|
||||||
|
SceNpBasicFriendOnlineStatusEventHandler friendOnlineStatusEventHandler;
|
||||||
|
SceNpBasicBlockListEventHandler blockListEventHandler;
|
||||||
|
SceNpBasicFriendGamePresenceEventHandler friendGamePresenceEventHandler;
|
||||||
|
SceNpBasicInGameDataMessageEventHandler inGameDataMessageEventHandler;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpBasicPlaySessionLogDescription
|
||||||
|
{
|
||||||
|
char text[512];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpBasicPlaySessionLog
|
||||||
|
{
|
||||||
|
u64 date;
|
||||||
|
SceNpId withWhom;
|
||||||
|
SceNpCommunicationId commId;
|
||||||
|
char title[128];
|
||||||
|
SceNpBasicPlaySessionLogDescription description;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum SceNpBasicPlaySessionLogType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_BASIC_PLAY_SESSION_LOG_TYPE_INVALID = -1,
|
||||||
|
SCE_NP_BASIC_PLAY_SESSION_LOG_TYPE_ALL = 0,
|
||||||
|
SCE_NP_BASIC_PLAY_SESSION_LOG_TYPE_BY_NP_COMM_ID = 1,
|
||||||
|
SCE_NP_BASIC_PLAY_SESSION_LOG_TYPE_MAX = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 sceNpBasicInit(vm::psv::ptr<void> opt)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicTerm(ARMv7Context&)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicRegisterHandler(vm::psv::ptr<const SceNpBasicEventHandlers> handlers, vm::psv::ptr<const SceNpCommunicationId> context, vm::psv::ptr<void> userdata)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicUnregisterHandler(ARMv7Context&)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicCheckCallback()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetFriendOnlineStatus(vm::psv::ptr<const SceNpId> friendId, vm::psv::ptr<SceNpBasicFriendOnlineStatus> status)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetGamePresenceOfFriend(vm::psv::ptr<const SceNpId> friendId, vm::psv::ptr<SceNpBasicGamePresence> presence)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetFriendListEntryCount(vm::psv::ptr<u32> count)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetFriendListEntries(u32 startIndex, vm::psv::ptr<SceNpId> entries, u32 numEntries, vm::psv::ptr<u32> retrieved)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetBlockListEntryCount(vm::psv::ptr<u32> count)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetBlockListEntries(u32 startIndex, vm::psv::ptr<SceNpId> entries, u32 numEntries, vm::psv::ptr<u32> retrieved)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicCheckIfPlayerIsBlocked(vm::psv::ptr<const SceNpId> player, vm::psv::ptr<u8> playerIsBlocked)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicSetInGamePresence(vm::psv::ptr<const SceNpBasicInGamePresence> presence)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicUnsetInGamePresence()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicSendInGameDataMessage(vm::psv::ptr<const SceNpId> to, vm::psv::ptr<const SceNpBasicInGameDataMessage> message)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicRecordPlaySessionLog(vm::psv::ptr<const SceNpId> withWhom, vm::psv::ptr<const SceNpBasicPlaySessionLogDescription> description)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetPlaySessionLogSize(SceNpBasicPlaySessionLogType type, vm::psv::ptr<u32> size)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBasicGetPlaySessionLog(SceNpBasicPlaySessionLogType type, u32 index, vm::psv::ptr<SceNpBasicPlaySessionLog> log)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpBasic, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpBasic, #name, name)
|
||||||
|
|
||||||
psv_log_base sceNpBasic("SceNpBasic", []()
|
psv_log_base sceNpBasic("SceNpBasic", []()
|
||||||
|
@ -12,22 +216,22 @@ psv_log_base sceNpBasic("SceNpBasic", []()
|
||||||
sceNpBasic.on_unload = nullptr;
|
sceNpBasic.on_unload = nullptr;
|
||||||
sceNpBasic.on_stop = nullptr;
|
sceNpBasic.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0xEFB91A99, sceNpBasicInit);
|
REG_FUNC(0xEFB91A99, sceNpBasicInit);
|
||||||
//REG_FUNC(0x389BCB3B, sceNpBasicTerm);
|
REG_FUNC(0x389BCB3B, sceNpBasicTerm);
|
||||||
//REG_FUNC(0x26E6E048, sceNpBasicRegisterHandler);
|
REG_FUNC(0x26E6E048, sceNpBasicRegisterHandler);
|
||||||
//REG_FUNC(0x050AE072, sceNpBasicUnregisterHandler);
|
REG_FUNC(0x050AE072, sceNpBasicUnregisterHandler);
|
||||||
//REG_FUNC(0x20146AEC, sceNpBasicCheckCallback);
|
REG_FUNC(0x20146AEC, sceNpBasicCheckCallback);
|
||||||
//REG_FUNC(0x5183A4B5, sceNpBasicGetFriendOnlineStatus);
|
REG_FUNC(0x5183A4B5, sceNpBasicGetFriendOnlineStatus);
|
||||||
//REG_FUNC(0xEF8A91BC, sceNpBasicGetGamePresenceOfFriend);
|
REG_FUNC(0xEF8A91BC, sceNpBasicGetGamePresenceOfFriend);
|
||||||
//REG_FUNC(0xDF41F308, sceNpBasicGetFriendListEntryCount);
|
REG_FUNC(0xDF41F308, sceNpBasicGetFriendListEntryCount);
|
||||||
//REG_FUNC(0xFF07E787, sceNpBasicGetFriendListEntries);
|
REG_FUNC(0xFF07E787, sceNpBasicGetFriendListEntries);
|
||||||
//REG_FUNC(0x407E1E6F, sceNpBasicGetBlockListEntryCount);
|
REG_FUNC(0x407E1E6F, sceNpBasicGetBlockListEntryCount);
|
||||||
//REG_FUNC(0x1211AE8E, sceNpBasicGetBlockListEntries);
|
REG_FUNC(0x1211AE8E, sceNpBasicGetBlockListEntries);
|
||||||
//REG_FUNC(0xF51545D8, sceNpBasicCheckIfPlayerIsBlocked);
|
REG_FUNC(0xF51545D8, sceNpBasicCheckIfPlayerIsBlocked);
|
||||||
//REG_FUNC(0x51D75562, sceNpBasicSetInGamePresence);
|
REG_FUNC(0x51D75562, sceNpBasicSetInGamePresence);
|
||||||
//REG_FUNC(0xD20C2370, sceNpBasicUnsetInGamePresence);
|
REG_FUNC(0xD20C2370, sceNpBasicUnsetInGamePresence);
|
||||||
//REG_FUNC(0x7A5020A5, sceNpBasicSendInGameDataMessage);
|
REG_FUNC(0x7A5020A5, sceNpBasicSendInGameDataMessage);
|
||||||
//REG_FUNC(0x3B0A7F47, sceNpBasicRecordPlaySessionLog);
|
REG_FUNC(0x3B0A7F47, sceNpBasicRecordPlaySessionLog);
|
||||||
//REG_FUNC(0xFB0F7FDF, sceNpBasicGetPlaySessionLogSize);
|
REG_FUNC(0xFB0F7FDF, sceNpBasicGetPlaySessionLogSize);
|
||||||
//REG_FUNC(0x364531A8, sceNpBasicGetPlaySessionLog);
|
REG_FUNC(0x364531A8, sceNpBasicGetPlaySessionLog);
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,7 +2,62 @@
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
extern psv_log_base sceNpCommon;
|
#include "sceNpCommon.h"
|
||||||
|
|
||||||
|
s32 sceNpAuthInit()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthTerm()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthCreateStartRequest(vm::psv::ptr<const SceNpAuthRequestParameter> param)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthDestroyRequest(SceNpAuthRequestId id)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthAbortRequest(SceNpAuthRequestId id)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthGetTicket(SceNpAuthRequestId id, vm::psv::ptr<void> buf, u32 len)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthGetTicketParam(vm::psv::ptr<const u8> ticket, u32 ticketSize, s32 paramId, vm::psv::ptr<SceNpTicketParam> param)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthGetEntitlementIdList(vm::psv::ptr<const u8> ticket, u32 ticketSize, vm::psv::ptr<SceNpEntitlementId> entIdList, u32 entIdListNum)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpAuthGetEntitlementById(vm::psv::ptr<const u8> ticket, u32 ticketSize, vm::psv::ptr<const char> entId, vm::psv::ptr<SceNpEntitlement> ent)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpCmpNpId(vm::psv::ptr<const SceNpId> npid1, vm::psv::ptr<const SceNpId> npid2)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpCmpNpIdInOrder(vm::psv::ptr<const SceNpId> npid1, vm::psv::ptr<const SceNpId> npid2, vm::psv::ptr<s32> order)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpCommon, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpCommon, #name, name)
|
||||||
|
|
||||||
|
@ -12,15 +67,15 @@ psv_log_base sceNpCommon("SceNpCommon", []()
|
||||||
sceNpCommon.on_unload = nullptr;
|
sceNpCommon.on_unload = nullptr;
|
||||||
sceNpCommon.on_stop = nullptr;
|
sceNpCommon.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0x441D8B4E, sceNpAuthInit);
|
REG_FUNC(0x441D8B4E, sceNpAuthInit);
|
||||||
//REG_FUNC(0x6093B689, sceNpAuthTerm);
|
REG_FUNC(0x6093B689, sceNpAuthTerm);
|
||||||
//REG_FUNC(0xED42079F, sceNpAuthCreateStartRequest);
|
REG_FUNC(0xED42079F, sceNpAuthCreateStartRequest);
|
||||||
//REG_FUNC(0x14FC18AF, sceNpAuthDestroyRequest);
|
REG_FUNC(0x14FC18AF, sceNpAuthDestroyRequest);
|
||||||
//REG_FUNC(0xE2582575, sceNpAuthAbortRequest);
|
REG_FUNC(0xE2582575, sceNpAuthAbortRequest);
|
||||||
//REG_FUNC(0x59608D1C, sceNpAuthGetTicket);
|
REG_FUNC(0x59608D1C, sceNpAuthGetTicket);
|
||||||
//REG_FUNC(0xC1E23E01, sceNpAuthGetTicketParam);
|
REG_FUNC(0xC1E23E01, sceNpAuthGetTicketParam);
|
||||||
//REG_FUNC(0x3377CD37, sceNpAuthGetEntitlementIdList);
|
REG_FUNC(0x3377CD37, sceNpAuthGetEntitlementIdList);
|
||||||
//REG_FUNC(0xF93842F0, sceNpAuthGetEntitlementById);
|
REG_FUNC(0xF93842F0, sceNpAuthGetEntitlementById);
|
||||||
//REG_FUNC(0xFB8D82E5, sceNpCmpNpId);
|
REG_FUNC(0xFB8D82E5, sceNpCmpNpId);
|
||||||
//REG_FUNC(0x6BC8150A, sceNpCmpNpIdInOrder);
|
REG_FUNC(0x6BC8150A, sceNpCmpNpIdInOrder);
|
||||||
});
|
});
|
||||||
|
|
154
rpcs3/Emu/ARMv7/Modules/sceNpCommon.h
Normal file
154
rpcs3/Emu/ARMv7/Modules/sceNpCommon.h
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
enum SceNpServiceState : s32
|
||||||
|
{
|
||||||
|
SCE_NP_SERVICE_STATE_UNKNOWN = 0,
|
||||||
|
SCE_NP_SERVICE_STATE_SIGNED_OUT,
|
||||||
|
SCE_NP_SERVICE_STATE_SIGNED_IN,
|
||||||
|
SCE_NP_SERVICE_STATE_ONLINE
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpCommunicationId
|
||||||
|
{
|
||||||
|
char data[9];
|
||||||
|
char term;
|
||||||
|
u8 num;
|
||||||
|
char dummy;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpCommunicationPassphrase
|
||||||
|
{
|
||||||
|
u8 data[128];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpCommunicationSignature
|
||||||
|
{
|
||||||
|
u8 data[160];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpCommunicationConfig
|
||||||
|
{
|
||||||
|
vm::psv::ptr<const SceNpCommunicationId> commId;
|
||||||
|
vm::psv::ptr<const SceNpCommunicationPassphrase> commPassphrase;
|
||||||
|
vm::psv::ptr<const SceNpCommunicationSignature> commSignature;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpCountryCode
|
||||||
|
{
|
||||||
|
char data[2];
|
||||||
|
char term;
|
||||||
|
char padding[1];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpOnlineId
|
||||||
|
{
|
||||||
|
char data[16];
|
||||||
|
char term;
|
||||||
|
char dummy[3];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpId
|
||||||
|
{
|
||||||
|
SceNpOnlineId handle;
|
||||||
|
u8 opt[8];
|
||||||
|
u8 reserved[8];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpAvatarUrl
|
||||||
|
{
|
||||||
|
char data[127];
|
||||||
|
char term;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpUserInformation
|
||||||
|
{
|
||||||
|
SceNpId userId;
|
||||||
|
SceNpAvatarUrl icon;
|
||||||
|
u8 reserved[52];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpMyLanguages
|
||||||
|
{
|
||||||
|
s32 language1;
|
||||||
|
s32 language2;
|
||||||
|
s32 language3;
|
||||||
|
u8 padding[4];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpAvatarImage
|
||||||
|
{
|
||||||
|
u8 data[200 * 1024];
|
||||||
|
u32 size;
|
||||||
|
u8 reserved[12];
|
||||||
|
};
|
||||||
|
|
||||||
|
enum SceNpAvatarSizeType : s32
|
||||||
|
{
|
||||||
|
SCE_NP_AVATAR_SIZE_LARGE,
|
||||||
|
SCE_NP_AVATAR_SIZE_MIDDLE,
|
||||||
|
SCE_NP_AVATAR_SIZE_SMALL
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpAboutMe
|
||||||
|
{
|
||||||
|
char data[64];
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef s32 SceNpAuthRequestId;
|
||||||
|
typedef u64 SceNpTime;
|
||||||
|
|
||||||
|
struct SceNpDate
|
||||||
|
{
|
||||||
|
u16 year;
|
||||||
|
u8 month;
|
||||||
|
u8 day;
|
||||||
|
};
|
||||||
|
|
||||||
|
union SceNpTicketParam
|
||||||
|
{
|
||||||
|
s32 i32;
|
||||||
|
s64 i64;
|
||||||
|
u32 u32;
|
||||||
|
u64 u64;
|
||||||
|
SceNpDate date;
|
||||||
|
u8 data[256];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpTicketVersion
|
||||||
|
{
|
||||||
|
u16 major;
|
||||||
|
u16 minor;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<s32(SceNpAuthRequestId id, s32 result, vm::psv::ptr<void> arg)> SceNpAuthCallback;
|
||||||
|
|
||||||
|
struct SceNpAuthRequestParameter
|
||||||
|
{
|
||||||
|
u32 size;
|
||||||
|
SceNpTicketVersion version;
|
||||||
|
vm::psv::ptr<const char> serviceId;
|
||||||
|
vm::psv::ptr<const void> cookie;
|
||||||
|
u32 cookieSize;
|
||||||
|
vm::psv::ptr<const char> entitlementId;
|
||||||
|
u32 consumedCount;
|
||||||
|
SceNpAuthCallback ticketCb;
|
||||||
|
vm::psv::ptr<void> cbArg;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpEntitlementId
|
||||||
|
{
|
||||||
|
u8 data[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpEntitlement
|
||||||
|
{
|
||||||
|
SceNpEntitlementId id;
|
||||||
|
SceNpTime createdDate;
|
||||||
|
SceNpTime expireDate;
|
||||||
|
u32 type;
|
||||||
|
s32 remainingCount;
|
||||||
|
u32 consumedCount;
|
||||||
|
char padding[4];
|
||||||
|
};
|
||||||
|
|
||||||
|
extern psv_log_base sceNpCommon;
|
|
@ -2,8 +2,67 @@
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
|
#include "sceNpCommon.h"
|
||||||
|
|
||||||
extern psv_log_base sceNpManager;
|
extern psv_log_base sceNpManager;
|
||||||
|
|
||||||
|
struct SceNpOptParam
|
||||||
|
{
|
||||||
|
u32 optParamSize;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<void(SceNpServiceState state, vm::psv::ptr<void> userdata)> SceNpServiceStateCallback;
|
||||||
|
|
||||||
|
s32 sceNpInit(vm::psv::ptr<const SceNpCommunicationConfig> commConf, vm::psv::ptr<SceNpOptParam> opt)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpTerm(ARMv7Context&)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpCheckCallback()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpGetServiceState(vm::psv::ptr<SceNpServiceState> state)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpRegisterServiceStateCallback(SceNpServiceStateCallback callback, vm::psv::ptr<void> userdata)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpUnregisterServiceStateCallback()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpManagerGetNpId(vm::psv::ptr<SceNpId> npId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpManagerGetAccountRegion(vm::psv::ptr<SceNpCountryCode> countryCode, vm::psv::ptr<s32> languageCode)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpManagerGetContentRatingFlag(vm::psv::ptr<s32> isRestricted, vm::psv::ptr<s32> age)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpManagerGetChatRestrictionFlag(vm::psv::ptr<s32> isRestricted)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpManager, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpManager, #name, name)
|
||||||
|
|
||||||
psv_log_base sceNpManager("SceNpManager", []()
|
psv_log_base sceNpManager("SceNpManager", []()
|
||||||
|
@ -12,14 +71,14 @@ psv_log_base sceNpManager("SceNpManager", []()
|
||||||
sceNpManager.on_unload = nullptr;
|
sceNpManager.on_unload = nullptr;
|
||||||
sceNpManager.on_stop = nullptr;
|
sceNpManager.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0x04D9F484, sceNpInit);
|
REG_FUNC(0x04D9F484, sceNpInit);
|
||||||
//REG_FUNC(0x19E40AE1, sceNpTerm);
|
REG_FUNC(0x19E40AE1, sceNpTerm);
|
||||||
//REG_FUNC(0x3C94B4B4, sceNpManagerGetNpId);
|
REG_FUNC(0x3C94B4B4, sceNpManagerGetNpId);
|
||||||
//REG_FUNC(0x54060DF6, sceNpGetServiceState);
|
REG_FUNC(0x54060DF6, sceNpGetServiceState);
|
||||||
//REG_FUNC(0x44239C35, sceNpRegisterServiceStateCallback);
|
REG_FUNC(0x44239C35, sceNpRegisterServiceStateCallback);
|
||||||
//REG_FUNC(0xD9E6E56C, sceNpUnregisterServiceStateCallback);
|
REG_FUNC(0xD9E6E56C, sceNpUnregisterServiceStateCallback);
|
||||||
//REG_FUNC(0x3B0AE9A9, sceNpCheckCallback);
|
REG_FUNC(0x3B0AE9A9, sceNpCheckCallback);
|
||||||
//REG_FUNC(0xFE835967, sceNpManagerGetAccountRegion);
|
REG_FUNC(0xFE835967, sceNpManagerGetAccountRegion);
|
||||||
//REG_FUNC(0xAF0073B2, sceNpManagerGetContentRatingFlag);
|
REG_FUNC(0xAF0073B2, sceNpManagerGetContentRatingFlag);
|
||||||
//REG_FUNC(0x60C575B1, sceNpManagerGetChatRestrictionFlag);
|
REG_FUNC(0x60C575B1, sceNpManagerGetChatRestrictionFlag);
|
||||||
});
|
});
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,8 +2,337 @@
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
|
#include "sceNpCommon.h"
|
||||||
|
|
||||||
extern psv_log_base sceNpScore;
|
extern psv_log_base sceNpScore;
|
||||||
|
|
||||||
|
typedef u32 SceNpScoreBoardId;
|
||||||
|
typedef s64 SceNpScoreValue;
|
||||||
|
typedef u32 SceNpScoreRankNumber;
|
||||||
|
typedef s32 SceNpScorePcId;
|
||||||
|
|
||||||
|
struct SceNpScoreGameInfo
|
||||||
|
{
|
||||||
|
u32 infoSize;
|
||||||
|
u8 pad[4];
|
||||||
|
u8 data[192];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpScoreComment
|
||||||
|
{
|
||||||
|
char utf8Comment[64];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpScoreRankData
|
||||||
|
{
|
||||||
|
SceNpId npId;
|
||||||
|
u8 reserved[49];
|
||||||
|
u8 pad0[3];
|
||||||
|
SceNpScorePcId pcId;
|
||||||
|
SceNpScoreRankNumber serialRank;
|
||||||
|
SceNpScoreRankNumber rank;
|
||||||
|
SceNpScoreRankNumber highestRank;
|
||||||
|
s32 hasGameData;
|
||||||
|
u8 pad1[4];
|
||||||
|
SceNpScoreValue scoreValue;
|
||||||
|
u64 recordDate;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpScorePlayerRankData
|
||||||
|
{
|
||||||
|
s32 hasData;
|
||||||
|
u8 pad0[4];
|
||||||
|
SceNpScoreRankData rankData;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpScoreBoardInfo
|
||||||
|
{
|
||||||
|
u32 rankLimit;
|
||||||
|
u32 updateMode;
|
||||||
|
u32 sortMode;
|
||||||
|
u32 uploadNumLimit;
|
||||||
|
u32 uploadSizeLimit;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceNpScoreNpIdPcId
|
||||||
|
{
|
||||||
|
SceNpId npId;
|
||||||
|
SceNpScorePcId pcId;
|
||||||
|
u8 pad[4];
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 sceNpScoreInit(s32 threadPriority, s32 cpuAffinityMask, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreTerm(ARMv7Context&)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreCreateTitleCtx(vm::psv::ptr<const SceNpCommunicationId> titleId, vm::psv::ptr<const SceNpCommunicationPassphrase> passphrase, vm::psv::ptr<const SceNpId> selfNpId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreDeleteTitleCtx(s32 titleCtxId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreCreateRequest(s32 titleCtxId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreDeleteRequest(s32 reqId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreAbortRequest(s32 reqId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreSetTimeout(s32 id, s32 resolveRetry, s32 resolveTimeout, s32 connTimeout, s32 sendTimeout, s32 recvTimeout)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreSetPlayerCharacterId(s32 id, SceNpScorePcId pcId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetBoardInfo(s32 reqId, SceNpScoreBoardId boardId, vm::psv::ptr<SceNpScoreBoardInfo> boardInfo, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreRecordScore(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreValue score,
|
||||||
|
vm::psv::ptr<const SceNpScoreComment> scoreComment,
|
||||||
|
vm::psv::ptr<const SceNpScoreGameInfo> gameInfo,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> tmpRank,
|
||||||
|
vm::psv::ptr<const u64> compareDate,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreRecordGameData(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreValue score,
|
||||||
|
u32 totalSize,
|
||||||
|
u32 sendSize,
|
||||||
|
vm::psv::ptr<const void> data,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetGameData(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpId> npId,
|
||||||
|
vm::psv::ptr<u32> totalSize,
|
||||||
|
u32 recvSize,
|
||||||
|
vm::psv::ptr<void> data,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByNpId(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpId> npIdArray,
|
||||||
|
u32 npIdArraySize,
|
||||||
|
vm::psv::ptr<SceNpScorePlayerRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByRange(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreRankNumber startSerialRank,
|
||||||
|
vm::psv::ptr<SceNpScoreRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByNpIdPcId(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpScoreNpIdPcId> idArray,
|
||||||
|
u32 idArraySize,
|
||||||
|
vm::psv::ptr<SceNpScorePlayerRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreCensorComment(s32 reqId, vm::psv::ptr<const char> comment, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreSanitizeComment(s32 reqId, vm::psv::ptr<const char> comment, vm::psv::ptr<char> sanitizedComment, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreWaitAsync(s32 id, vm::psv::ptr<s32> result)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScorePollAsync(s32 reqId, vm::psv::ptr<s32> result)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetBoardInfoAsync(s32 reqId, SceNpScoreBoardId boardId, vm::psv::ptr<SceNpScoreBoardInfo> boardInfo, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreRecordScoreAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreValue score,
|
||||||
|
vm::psv::ptr<const SceNpScoreComment> scoreComment,
|
||||||
|
vm::psv::ptr<const SceNpScoreGameInfo> gameInfo,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> tmpRank,
|
||||||
|
vm::psv::ptr<const u64> compareDate,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreRecordGameDataAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreValue score,
|
||||||
|
u32 totalSize,
|
||||||
|
u32 sendSize,
|
||||||
|
vm::psv::ptr<const void> data,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetGameDataAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpId> npId,
|
||||||
|
vm::psv::ptr<u32> totalSize,
|
||||||
|
u32 recvSize,
|
||||||
|
vm::psv::ptr<void> data,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByNpIdAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpId> npIdArray,
|
||||||
|
u32 npIdArraySize,
|
||||||
|
vm::psv::ptr<SceNpScorePlayerRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByRangeAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
SceNpScoreRankNumber startSerialRank,
|
||||||
|
vm::psv::ptr<SceNpScoreRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreGetRankingByNpIdPcIdAsync(
|
||||||
|
s32 reqId,
|
||||||
|
SceNpScoreBoardId boardId,
|
||||||
|
vm::psv::ptr<const SceNpScoreNpIdPcId> idArray,
|
||||||
|
u32 idArraySize,
|
||||||
|
vm::psv::ptr<SceNpScorePlayerRankData> rankArray,
|
||||||
|
u32 rankArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreComment> commentArray,
|
||||||
|
u32 commentArraySize,
|
||||||
|
vm::psv::ptr<SceNpScoreGameInfo> infoArray,
|
||||||
|
u32 infoArraySize,
|
||||||
|
u32 arrayNum,
|
||||||
|
vm::psv::ptr<u64> lastSortDate,
|
||||||
|
vm::psv::ptr<SceNpScoreRankNumber> totalRecord,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreCensorCommentAsync(s32 reqId, vm::psv::ptr<const char> comment, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpScoreSanitizeCommentAsync(s32 reqId, vm::psv::ptr<const char> comment, vm::psv::ptr<char> sanitizedComment, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpScore, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpScore, #name, name)
|
||||||
|
|
||||||
psv_log_base sceNpScore("SceNpScore", []()
|
psv_log_base sceNpScore("SceNpScore", []()
|
||||||
|
@ -12,33 +341,33 @@ psv_log_base sceNpScore("SceNpScore", []()
|
||||||
sceNpScore.on_unload = nullptr;
|
sceNpScore.on_unload = nullptr;
|
||||||
sceNpScore.on_stop = nullptr;
|
sceNpScore.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0x0433069F, sceNpScoreInit);
|
REG_FUNC(0x0433069F, sceNpScoreInit);
|
||||||
//REG_FUNC(0x2050F98F, sceNpScoreTerm);
|
REG_FUNC(0x2050F98F, sceNpScoreTerm);
|
||||||
//REG_FUNC(0x5685F225, sceNpScoreCreateTitleCtx);
|
REG_FUNC(0x5685F225, sceNpScoreCreateTitleCtx);
|
||||||
//REG_FUNC(0xD30D1993, sceNpScoreCreateRequest);
|
REG_FUNC(0xD30D1993, sceNpScoreCreateRequest);
|
||||||
//REG_FUNC(0xF52EA88A, sceNpScoreDeleteTitleCtx);
|
REG_FUNC(0xF52EA88A, sceNpScoreDeleteTitleCtx);
|
||||||
//REG_FUNC(0xFFF24BB1, sceNpScoreDeleteRequest);
|
REG_FUNC(0xFFF24BB1, sceNpScoreDeleteRequest);
|
||||||
//REG_FUNC(0x320C0277, sceNpScoreRecordScore);
|
REG_FUNC(0x320C0277, sceNpScoreRecordScore);
|
||||||
//REG_FUNC(0x24B09634, sceNpScoreRecordScoreAsync);
|
REG_FUNC(0x24B09634, sceNpScoreRecordScoreAsync);
|
||||||
//REG_FUNC(0xC2862B67, sceNpScoreRecordGameData);
|
REG_FUNC(0xC2862B67, sceNpScoreRecordGameData);
|
||||||
//REG_FUNC(0x40573917, sceNpScoreRecordGameDataAsync);
|
REG_FUNC(0x40573917, sceNpScoreRecordGameDataAsync);
|
||||||
//REG_FUNC(0xDFAD64D3, sceNpScoreGetGameData);
|
REG_FUNC(0xDFAD64D3, sceNpScoreGetGameData);
|
||||||
//REG_FUNC(0xCE416993, sceNpScoreGetGameDataAsync);
|
REG_FUNC(0xCE416993, sceNpScoreGetGameDataAsync);
|
||||||
//REG_FUNC(0x427D3412, sceNpScoreGetRankingByRange);
|
REG_FUNC(0x427D3412, sceNpScoreGetRankingByRange);
|
||||||
//REG_FUNC(0xC45E3FCD, sceNpScoreGetRankingByRangeAsync);
|
REG_FUNC(0xC45E3FCD, sceNpScoreGetRankingByRangeAsync);
|
||||||
//REG_FUNC(0xBAE55B34, sceNpScoreGetRankingByNpId);
|
REG_FUNC(0xBAE55B34, sceNpScoreGetRankingByNpId);
|
||||||
//REG_FUNC(0x45CD1D00, sceNpScoreGetRankingByNpIdAsync);
|
REG_FUNC(0x45CD1D00, sceNpScoreGetRankingByNpIdAsync);
|
||||||
//REG_FUNC(0x871F28AA, sceNpScoreGetRankingByNpIdPcId);
|
REG_FUNC(0x871F28AA, sceNpScoreGetRankingByNpIdPcId);
|
||||||
//REG_FUNC(0xCE3A9544, sceNpScoreGetRankingByNpIdPcIdAsync);
|
REG_FUNC(0xCE3A9544, sceNpScoreGetRankingByNpIdPcIdAsync);
|
||||||
//REG_FUNC(0xA7E93CE1, sceNpScoreAbortRequest);
|
REG_FUNC(0xA7E93CE1, sceNpScoreAbortRequest);
|
||||||
//REG_FUNC(0x31733BF3, sceNpScoreWaitAsync);
|
REG_FUNC(0x31733BF3, sceNpScoreWaitAsync);
|
||||||
//REG_FUNC(0x9F2A7AC9, sceNpScorePollAsync);
|
REG_FUNC(0x9F2A7AC9, sceNpScorePollAsync);
|
||||||
//REG_FUNC(0x00F90E7B, sceNpScoreGetBoardInfo);
|
REG_FUNC(0x00F90E7B, sceNpScoreGetBoardInfo);
|
||||||
//REG_FUNC(0x3CD9974E, sceNpScoreGetBoardInfoAsync);
|
REG_FUNC(0x3CD9974E, sceNpScoreGetBoardInfoAsync);
|
||||||
//REG_FUNC(0xA0C94D46, sceNpScoreCensorComment);
|
REG_FUNC(0xA0C94D46, sceNpScoreCensorComment);
|
||||||
//REG_FUNC(0xAA0BBF8E, sceNpScoreCensorCommentAsync);
|
REG_FUNC(0xAA0BBF8E, sceNpScoreCensorCommentAsync);
|
||||||
//REG_FUNC(0x6FD2041A, sceNpScoreSanitizeComment);
|
REG_FUNC(0x6FD2041A, sceNpScoreSanitizeComment);
|
||||||
//REG_FUNC(0x15981858, sceNpScoreSanitizeCommentAsync);
|
REG_FUNC(0x15981858, sceNpScoreSanitizeCommentAsync);
|
||||||
//REG_FUNC(0x5EF44841, sceNpScoreSetTimeout);
|
REG_FUNC(0x5EF44841, sceNpScoreSetTimeout);
|
||||||
//REG_FUNC(0x53D77883, sceNpScoreSetPlayerCharacterId);
|
REG_FUNC(0x53D77883, sceNpScoreSetPlayerCharacterId);
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,8 +2,140 @@
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
|
#include "sceNpCommon.h"
|
||||||
|
|
||||||
extern psv_log_base sceNpUtility;
|
extern psv_log_base sceNpUtility;
|
||||||
|
|
||||||
|
struct SceNpBandwidthTestResult
|
||||||
|
{
|
||||||
|
double uploadBps;
|
||||||
|
double downloadBps;
|
||||||
|
s32 result;
|
||||||
|
char padding[4];
|
||||||
|
};
|
||||||
|
|
||||||
|
s32 sceNpLookupInit(s32 usesAsync, s32 threadPriority, s32 cpuAffinityMask, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupTerm(ARMv7Context&)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupCreateTitleCtx(vm::psv::ptr<const SceNpCommunicationId> titleId, vm::psv::ptr<const SceNpId> selfNpId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupDeleteTitleCtx(s32 titleCtxId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupCreateRequest(s32 titleCtxId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupDeleteRequest(s32 reqId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupAbortRequest(s32 reqId)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupSetTimeout(s32 id, s32 resolveRetry, u32 resolveTimeout, u32 connTimeout, u32 sendTimeout, u32 recvTimeout)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupWaitAsync(s32 reqId, vm::psv::ptr<s32> result)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupPollAsync(s32 reqId, vm::psv::ptr<s32> result)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupNpId(s32 reqId, vm::psv::ptr<const SceNpOnlineId> onlineId, vm::psv::ptr<SceNpId> npId, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupNpIdAsync(s32 reqId, vm::psv::ptr<const SceNpOnlineId> onlineId, vm::psv::ptr<SceNpId> npId, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupUserProfile(
|
||||||
|
s32 reqId,
|
||||||
|
s32 avatarSizeType,
|
||||||
|
vm::psv::ptr<const SceNpId> npId,
|
||||||
|
vm::psv::ptr<SceNpUserInformation> userInfo,
|
||||||
|
vm::psv::ptr<SceNpAboutMe> aboutMe,
|
||||||
|
vm::psv::ptr<SceNpMyLanguages> languages,
|
||||||
|
vm::psv::ptr<SceNpCountryCode> countryCode,
|
||||||
|
vm::psv::ptr<void> avatarImageData,
|
||||||
|
u32 avatarImageDataMaxSize,
|
||||||
|
vm::psv::ptr<u32> avatarImageDataSize,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupUserProfileAsync(
|
||||||
|
s32 reqId,
|
||||||
|
s32 avatarSizeType,
|
||||||
|
vm::psv::ptr<const SceNpId> npId,
|
||||||
|
vm::psv::ptr<SceNpUserInformation> userInfo,
|
||||||
|
vm::psv::ptr<SceNpAboutMe> aboutMe,
|
||||||
|
vm::psv::ptr<SceNpMyLanguages> languages,
|
||||||
|
vm::psv::ptr<SceNpCountryCode> countryCode,
|
||||||
|
vm::psv::ptr<void> avatarImageData,
|
||||||
|
u32 avatarImageDataMaxSize,
|
||||||
|
vm::psv::ptr<u32> avatarImageDataSize,
|
||||||
|
vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupAvatarImage(s32 reqId, vm::psv::ptr<const SceNpAvatarUrl> avatarUrl, vm::psv::ptr<SceNpAvatarImage> avatarImage, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpLookupAvatarImageAsync(s32 reqId, vm::psv::ptr<const SceNpAvatarUrl> avatarUrl, vm::psv::ptr<SceNpAvatarImage> avatarImage, vm::psv::ptr<void> option)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBandwidthTestInitStart(s32 initPriority, s32 cpuAffinityMask)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBandwidthTestGetStatus()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBandwidthTestShutdown(vm::psv::ptr<SceNpBandwidthTestResult> result)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceNpBandwidthTestAbort()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpUtility, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpUtility, #name, name)
|
||||||
|
|
||||||
psv_log_base sceNpUtility("SceNpUtility", []()
|
psv_log_base sceNpUtility("SceNpUtility", []()
|
||||||
|
@ -12,24 +144,24 @@ psv_log_base sceNpUtility("SceNpUtility", []()
|
||||||
sceNpUtility.on_unload = nullptr;
|
sceNpUtility.on_unload = nullptr;
|
||||||
sceNpUtility.on_stop = nullptr;
|
sceNpUtility.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0x9246A673, sceNpLookupInit);
|
REG_FUNC(0x9246A673, sceNpLookupInit);
|
||||||
//REG_FUNC(0x0158B61B, sceNpLookupTerm);
|
REG_FUNC(0x0158B61B, sceNpLookupTerm);
|
||||||
//REG_FUNC(0x5110E17E, sceNpLookupCreateTitleCtx);
|
REG_FUNC(0x5110E17E, sceNpLookupCreateTitleCtx);
|
||||||
//REG_FUNC(0x33B64699, sceNpLookupDeleteTitleCtx);
|
REG_FUNC(0x33B64699, sceNpLookupDeleteTitleCtx);
|
||||||
//REG_FUNC(0x9E42E922, sceNpLookupCreateRequest);
|
REG_FUNC(0x9E42E922, sceNpLookupCreateRequest);
|
||||||
//REG_FUNC(0x8B608BF6, sceNpLookupDeleteRequest);
|
REG_FUNC(0x8B608BF6, sceNpLookupDeleteRequest);
|
||||||
//REG_FUNC(0x027587C4, sceNpLookupAbortRequest);
|
REG_FUNC(0x027587C4, sceNpLookupAbortRequest);
|
||||||
//REG_FUNC(0xB0C9DC45, sceNpLookupSetTimeout);
|
REG_FUNC(0xB0C9DC45, sceNpLookupSetTimeout);
|
||||||
//REG_FUNC(0xCF956F23, sceNpLookupWaitAsync);
|
REG_FUNC(0xCF956F23, sceNpLookupWaitAsync);
|
||||||
//REG_FUNC(0xFCDBA234, sceNpLookupPollAsync);
|
REG_FUNC(0xFCDBA234, sceNpLookupPollAsync);
|
||||||
//REG_FUNC(0xB1A14879, sceNpLookupNpId);
|
REG_FUNC(0xB1A14879, sceNpLookupNpId);
|
||||||
//REG_FUNC(0x5387BABB, sceNpLookupNpIdAsync);
|
REG_FUNC(0x5387BABB, sceNpLookupNpIdAsync);
|
||||||
//REG_FUNC(0x6A1BF429, sceNpLookupUserProfile);
|
REG_FUNC(0x6A1BF429, sceNpLookupUserProfile);
|
||||||
//REG_FUNC(0xE5285E0F, sceNpLookupUserProfileAsync);
|
REG_FUNC(0xE5285E0F, sceNpLookupUserProfileAsync);
|
||||||
//REG_FUNC(0xFDB0AE47, sceNpLookupAvatarImage);
|
REG_FUNC(0xFDB0AE47, sceNpLookupAvatarImage);
|
||||||
//REG_FUNC(0x282BD43C, sceNpLookupAvatarImageAsync);
|
REG_FUNC(0x282BD43C, sceNpLookupAvatarImageAsync);
|
||||||
//REG_FUNC(0x081FA13C, sceNpBandwidthTestInitStart);
|
REG_FUNC(0x081FA13C, sceNpBandwidthTestInitStart);
|
||||||
//REG_FUNC(0xE0EBFBF6, sceNpBandwidthTestGetStatus);
|
REG_FUNC(0xE0EBFBF6, sceNpBandwidthTestGetStatus);
|
||||||
//REG_FUNC(0x58D92EFD, sceNpBandwidthTestShutdown);
|
REG_FUNC(0x58D92EFD, sceNpBandwidthTestShutdown);
|
||||||
//REG_FUNC(0x32B068C4, sceNpBandwidthTestAbort);
|
REG_FUNC(0x32B068C4, sceNpBandwidthTestAbort);
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,8 +2,545 @@
|
||||||
#include "Emu/System.h"
|
#include "Emu/System.h"
|
||||||
#include "Emu/ARMv7/PSVFuncList.h"
|
#include "Emu/ARMv7/PSVFuncList.h"
|
||||||
|
|
||||||
|
#include "sceLibKernel.h"
|
||||||
|
|
||||||
extern psv_log_base sceUlt;
|
extern psv_log_base sceUlt;
|
||||||
|
|
||||||
|
#define CHECK_SIZE(type, size) static_assert(sizeof(type) == size, "Invalid " #type " size")
|
||||||
|
|
||||||
|
struct _SceUltOptParamHeader
|
||||||
|
{
|
||||||
|
s64 reserved[2];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SceUltWaitingQueueResourcePoolOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltWaitingQueueResourcePoolOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltWaitingQueueResourcePool
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltWaitingQueueResourcePool, 256);
|
||||||
|
|
||||||
|
struct SceUltQueueDataResourcePoolOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltQueueDataResourcePoolOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltQueueDataResourcePool
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltQueueDataResourcePool, 256);
|
||||||
|
|
||||||
|
struct SceUltMutexOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u32 attribute;
|
||||||
|
u32 reserved_0;
|
||||||
|
u64 reserved[13];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltMutexOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltMutex
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltMutex, 256);
|
||||||
|
|
||||||
|
struct SceUltConditionVariableOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltConditionVariableOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltConditionVariable
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltConditionVariable, 256);
|
||||||
|
|
||||||
|
struct SceUltQueueOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltQueueOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltQueue
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltQueue, 256);
|
||||||
|
|
||||||
|
struct SceUltReaderWriterLockOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltReaderWriterLockOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltReaderWriterLock
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltReaderWriterLock, 256);
|
||||||
|
|
||||||
|
struct SceUltSemaphoreOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u64 reserved[14];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltSemaphoreOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltSemaphore
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltSemaphore, 256);
|
||||||
|
|
||||||
|
struct SceUltUlthreadRuntimeOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
|
||||||
|
u32 oneShotThreadStackSize;
|
||||||
|
s32 workerThreadPriority;
|
||||||
|
u32 workerThreadCpuAffinityMask;
|
||||||
|
u32 workerThreadAttr;
|
||||||
|
vm::psv::ptr<const SceKernelThreadOptParam> workerThreadOptParam;
|
||||||
|
|
||||||
|
u64 reserved[11];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltUlthreadRuntimeOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltUlthreadRuntime
|
||||||
|
{
|
||||||
|
u64 reserved[128];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltUlthreadRuntime, 1024);
|
||||||
|
|
||||||
|
struct SceUltUlthreadOptParam
|
||||||
|
{
|
||||||
|
_SceUltOptParamHeader header;
|
||||||
|
u32 attribute;
|
||||||
|
u32 reserved_0;
|
||||||
|
u64 reserved[13];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltUlthreadOptParam, 128);
|
||||||
|
|
||||||
|
struct SceUltUlthread
|
||||||
|
{
|
||||||
|
u64 reserved[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
CHECK_SIZE(SceUltUlthread, 256);
|
||||||
|
|
||||||
|
typedef vm::psv::ptr<s32(u32 arg)> SceUltUlthreadEntry;
|
||||||
|
|
||||||
|
// Functions
|
||||||
|
|
||||||
|
s32 _sceUltWaitingQueueResourcePoolOptParamInitialize(vm::psv::ptr<SceUltWaitingQueueResourcePoolOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltWaitingQueueResourcePoolGetWorkAreaSize(u32 numThreads, u32 numSyncObjects)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltWaitingQueueResourcePoolCreate(
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> pool,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 numThreads,
|
||||||
|
u32 numSyncObjects,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltWaitingQueueResourcePoolOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltWaitingQueueResourcePoolDestroy(vm::psv::ptr<SceUltWaitingQueueResourcePool> pool)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltQueueDataResourcePoolOptParamInitialize(vm::psv::ptr<SceUltQueueDataResourcePoolOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltQueueDataResourcePoolGetWorkAreaSize(u32 numData, u32 dataSize, u32 numQueueObject)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltQueueDataResourcePoolCreate(
|
||||||
|
vm::psv::ptr<SceUltQueueDataResourcePool> pool,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 numData,
|
||||||
|
u32 dataSize,
|
||||||
|
u32 numQueueObject,
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> waitingQueueResourcePool,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltQueueDataResourcePoolOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueueDataResourcePoolDestroy(vm::psv::ptr<SceUltQueueDataResourcePool> pool)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltMutexGetStandaloneWorkAreaSize(u32 waitingQueueDepth, u32 numConditionVariable)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltMutexOptParamInitialize(vm::psv::ptr<SceUltMutexOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltMutexCreate(
|
||||||
|
vm::psv::ptr<SceUltMutex> mutex,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> waitingQueueResourcePool,
|
||||||
|
vm::psv::ptr<const SceUltMutexOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltMutexCreateStandalone(
|
||||||
|
vm::psv::ptr<SceUltMutex> mutex,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 numConditionVariable,
|
||||||
|
u32 maxNumThreads,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltMutexOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltMutexLock(vm::psv::ptr<SceUltMutex> mutex)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltMutexTryLock(vm::psv::ptr<SceUltMutex> mutex)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltMutexUnlock(vm::psv::ptr<SceUltMutex> mutex)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltMutexDestroy(vm::psv::ptr<SceUltMutex> mutex)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltConditionVariableOptParamInitialize(vm::psv::ptr<SceUltConditionVariableOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltConditionVariableCreate(
|
||||||
|
vm::psv::ptr<SceUltConditionVariable> conditionVariable,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
vm::psv::ptr<SceUltMutex> mutex,
|
||||||
|
vm::psv::ptr<const SceUltConditionVariableOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltConditionVariableSignal(vm::psv::ptr<SceUltConditionVariable> conditionVariable)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltConditionVariableSignalAll(vm::psv::ptr<SceUltConditionVariable> conditionVariable)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltConditionVariableWait(vm::psv::ptr<SceUltConditionVariable> conditionVariable)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltConditionVariableDestroy(vm::psv::ptr<SceUltConditionVariable> conditionVariable)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltQueueOptParamInitialize(vm::psv::ptr<SceUltQueueOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltQueueGetStandaloneWorkAreaSize(u32 queueDepth,
|
||||||
|
u32 dataSize,
|
||||||
|
u32 waitingQueueLength)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltQueueCreate(
|
||||||
|
vm::psv::ptr<SceUltQueue> queue,
|
||||||
|
vm::psv::ptr<const char> _name,
|
||||||
|
u32 dataSize,
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> resourcePool,
|
||||||
|
vm::psv::ptr<SceUltQueueDataResourcePool> queueResourcePool,
|
||||||
|
vm::psv::ptr<const SceUltQueueOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltQueueCreateStandalone(
|
||||||
|
vm::psv::ptr<SceUltQueue> queue,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 queueDepth,
|
||||||
|
u32 dataSize,
|
||||||
|
u32 waitingQueueLength,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltQueueOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueuePush(vm::psv::ptr<SceUltQueue> queue, vm::psv::ptr<const void> data)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueueTryPush(vm::psv::ptr<SceUltQueue> queue, vm::psv::ptr<const void> data)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueuePop(vm::psv::ptr<SceUltQueue> queue, vm::psv::ptr<void> data)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueueTryPop(vm::psv::ptr<SceUltQueue> queue, vm::psv::ptr<void> data)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltQueueDestroy(vm::psv::ptr<SceUltQueue> queue)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltReaderWriterLockOptParamInitialize(vm::psv::ptr<SceUltReaderWriterLockOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltReaderWriterLockCreate(
|
||||||
|
vm::psv::ptr<SceUltReaderWriterLock> rwlock,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> waitingQueueResourcePool,
|
||||||
|
vm::psv::ptr<const SceUltReaderWriterLockOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltReaderWriterLockCreateStandalone(
|
||||||
|
vm::psv::ptr<SceUltReaderWriterLock> rwlock,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 waitingQueueDepth,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltReaderWriterLockOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltReaderWriterLockGetStandaloneWorkAreaSize(u32 waitingQueueDepth)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockLockRead(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockTryLockRead(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockUnlockRead(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockLockWrite(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockTryLockWrite(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockUnlockWrite(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltReaderWriterLockDestroy(vm::psv::ptr<SceUltReaderWriterLock> rwlock)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltSemaphoreOptParamInitialize(vm::psv::ptr<SceUltSemaphoreOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltSemaphoreCreate(
|
||||||
|
vm::psv::ptr<SceUltSemaphore> semaphore,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
s32 numInitialResource,
|
||||||
|
vm::psv::ptr<SceUltWaitingQueueResourcePool> waitingQueueResourcePool,
|
||||||
|
vm::psv::ptr<const SceUltSemaphoreOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltSemaphoreAcquire(vm::psv::ptr<SceUltSemaphore> semaphore, s32 numResource)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltSemaphoreTryAcquire(vm::psv::ptr<SceUltSemaphore> semaphore, s32 numResource)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltSemaphoreRelease(vm::psv::ptr<SceUltSemaphore> semaphore, s32 numResource)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltSemaphoreDestroy(vm::psv::ptr<SceUltSemaphore> semaphore)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltUlthreadRuntimeOptParamInitialize(vm::psv::ptr<SceUltUlthreadRuntimeOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sceUltUlthreadRuntimeGetWorkAreaSize(u32 numMaxUlthread, u32 numWorkerThread)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltUlthreadRuntimeCreate(
|
||||||
|
vm::psv::ptr<SceUltUlthreadRuntime> runtime,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
u32 numMaxUlthread,
|
||||||
|
u32 numWorkerThread,
|
||||||
|
vm::psv::ptr<void> workArea,
|
||||||
|
vm::psv::ptr<const SceUltUlthreadRuntimeOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadRuntimeDestroy(vm::psv::ptr<SceUltUlthreadRuntime> runtime)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltUlthreadOptParamInitialize(vm::psv::ptr<SceUltUlthreadOptParam> optParam, u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 _sceUltUlthreadCreate(
|
||||||
|
vm::psv::ptr<SceUltUlthread> ulthread,
|
||||||
|
vm::psv::ptr<const char> name,
|
||||||
|
SceUltUlthreadEntry entry,
|
||||||
|
u32 arg,
|
||||||
|
vm::psv::ptr<void> context,
|
||||||
|
u32 sizeContext,
|
||||||
|
vm::psv::ptr<SceUltUlthreadRuntime> runtime,
|
||||||
|
vm::psv::ptr<const SceUltUlthreadOptParam> optParam,
|
||||||
|
u32 buildVersion)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadYield()
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadExit(s32 status)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadJoin(vm::psv::ptr<SceUltUlthread> ulthread, vm::psv::ptr<s32> status)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadTryJoin(vm::psv::ptr<SceUltUlthread> ulthread, vm::psv::ptr<s32> status)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 sceUltUlthreadGetSelf(vm::psv::ptr<vm::psv::ptr<SceUltUlthread>> ulthread)
|
||||||
|
{
|
||||||
|
throw __FUNCTION__;
|
||||||
|
}
|
||||||
|
|
||||||
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceUlt, #name, name)
|
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceUlt, #name, name)
|
||||||
|
|
||||||
psv_log_base sceUlt("SceUlt", []()
|
psv_log_base sceUlt("SceUlt", []()
|
||||||
|
@ -12,57 +549,57 @@ psv_log_base sceUlt("SceUlt", []()
|
||||||
sceUlt.on_unload = nullptr;
|
sceUlt.on_unload = nullptr;
|
||||||
sceUlt.on_stop = nullptr;
|
sceUlt.on_stop = nullptr;
|
||||||
|
|
||||||
//REG_FUNC(0xEF094E35, _sceUltWaitingQueueResourcePoolOptParamInitialize);
|
REG_FUNC(0xEF094E35, _sceUltWaitingQueueResourcePoolOptParamInitialize);
|
||||||
//REG_FUNC(0x644DA029, sceUltWaitingQueueResourcePoolGetWorkAreaSize);
|
REG_FUNC(0x644DA029, sceUltWaitingQueueResourcePoolGetWorkAreaSize);
|
||||||
//REG_FUNC(0x62F9493E, _sceUltWaitingQueueResourcePoolCreate);
|
REG_FUNC(0x62F9493E, _sceUltWaitingQueueResourcePoolCreate);
|
||||||
//REG_FUNC(0xC9E96714, sceUltWaitingQueueResourcePoolDestroy);
|
REG_FUNC(0xC9E96714, sceUltWaitingQueueResourcePoolDestroy);
|
||||||
//REG_FUNC(0x8A4F88A2, _sceUltQueueDataResourcePoolOptParamInitialize);
|
REG_FUNC(0x8A4F88A2, _sceUltQueueDataResourcePoolOptParamInitialize);
|
||||||
//REG_FUNC(0xECDA7FEE, sceUltQueueDataResourcePoolGetWorkAreaSize);
|
REG_FUNC(0xECDA7FEE, sceUltQueueDataResourcePoolGetWorkAreaSize);
|
||||||
//REG_FUNC(0x40856827, _sceUltQueueDataResourcePoolCreate);
|
REG_FUNC(0x40856827, _sceUltQueueDataResourcePoolCreate);
|
||||||
//REG_FUNC(0x2B8D33F1, sceUltQueueDataResourcePoolDestroy);
|
REG_FUNC(0x2B8D33F1, sceUltQueueDataResourcePoolDestroy);
|
||||||
//REG_FUNC(0x24D87E05, _sceUltMutexOptParamInitialize);
|
REG_FUNC(0x24D87E05, _sceUltMutexOptParamInitialize);
|
||||||
//REG_FUNC(0x5AFEC7A1, _sceUltMutexCreate);
|
REG_FUNC(0x5AFEC7A1, _sceUltMutexCreate);
|
||||||
//REG_FUNC(0x001EAC8A, sceUltMutexLock);
|
REG_FUNC(0x001EAC8A, sceUltMutexLock);
|
||||||
//REG_FUNC(0xE5936A69, sceUltMutexTryLock);
|
REG_FUNC(0xE5936A69, sceUltMutexTryLock);
|
||||||
//REG_FUNC(0x897C9097, sceUltMutexUnlock);
|
REG_FUNC(0x897C9097, sceUltMutexUnlock);
|
||||||
//REG_FUNC(0xEEBD9052, sceUltMutexDestroy);
|
REG_FUNC(0xEEBD9052, sceUltMutexDestroy);
|
||||||
//REG_FUNC(0x0603FCC1, _sceUltConditionVariableOptParamInitialize);
|
REG_FUNC(0x0603FCC1, _sceUltConditionVariableOptParamInitialize);
|
||||||
//REG_FUNC(0xD76A156C, _sceUltConditionVariableCreate);
|
REG_FUNC(0xD76A156C, _sceUltConditionVariableCreate);
|
||||||
//REG_FUNC(0x9FE7CB9F, sceUltConditionVariableSignal);
|
REG_FUNC(0x9FE7CB9F, sceUltConditionVariableSignal);
|
||||||
//REG_FUNC(0xEBB6FC1E, sceUltConditionVariableSignalAll);
|
REG_FUNC(0xEBB6FC1E, sceUltConditionVariableSignalAll);
|
||||||
//REG_FUNC(0x2CD0F57C, sceUltConditionVariableWait);
|
REG_FUNC(0x2CD0F57C, sceUltConditionVariableWait);
|
||||||
//REG_FUNC(0x53420ED2, sceUltConditionVariableDestroy);
|
REG_FUNC(0x53420ED2, sceUltConditionVariableDestroy);
|
||||||
//REG_FUNC(0xF7A83023, _sceUltQueueOptParamInitialize);
|
REG_FUNC(0xF7A83023, _sceUltQueueOptParamInitialize);
|
||||||
//REG_FUNC(0x14DA1BB4, _sceUltQueueCreate);
|
REG_FUNC(0x14DA1BB4, _sceUltQueueCreate);
|
||||||
//REG_FUNC(0xA7E78FF9, sceUltQueuePush);
|
REG_FUNC(0xA7E78FF9, sceUltQueuePush);
|
||||||
//REG_FUNC(0x6D356B29, sceUltQueueTryPush);
|
REG_FUNC(0x6D356B29, sceUltQueueTryPush);
|
||||||
//REG_FUNC(0x1AD58A53, sceUltQueuePop);
|
REG_FUNC(0x1AD58A53, sceUltQueuePop);
|
||||||
//REG_FUNC(0x2A1A8EA6, sceUltQueueTryPop);
|
REG_FUNC(0x2A1A8EA6, sceUltQueueTryPop);
|
||||||
//REG_FUNC(0xF37862DE, sceUltQueueDestroy);
|
REG_FUNC(0xF37862DE, sceUltQueueDestroy);
|
||||||
//REG_FUNC(0xD8334A1F, _sceUltReaderWriterLockOptParamInitialize);
|
REG_FUNC(0xD8334A1F, _sceUltReaderWriterLockOptParamInitialize);
|
||||||
//REG_FUNC(0x2FB0EB32, _sceUltReaderWriterLockCreate);
|
REG_FUNC(0x2FB0EB32, _sceUltReaderWriterLockCreate);
|
||||||
//REG_FUNC(0x9AD07630, sceUltReaderWriterLockLockRead);
|
REG_FUNC(0x9AD07630, sceUltReaderWriterLockLockRead);
|
||||||
//REG_FUNC(0x2629C055, sceUltReaderWriterLockTryLockRead);
|
REG_FUNC(0x2629C055, sceUltReaderWriterLockTryLockRead);
|
||||||
//REG_FUNC(0x218D4743, sceUltReaderWriterLockUnlockRead);
|
REG_FUNC(0x218D4743, sceUltReaderWriterLockUnlockRead);
|
||||||
//REG_FUNC(0xF5F63E2C, sceUltReaderWriterLockLockWrite);
|
REG_FUNC(0xF5F63E2C, sceUltReaderWriterLockLockWrite);
|
||||||
//REG_FUNC(0x944FB222, sceUltReaderWriterLockTryLockWrite);
|
REG_FUNC(0x944FB222, sceUltReaderWriterLockTryLockWrite);
|
||||||
//REG_FUNC(0x2A5741F5, sceUltReaderWriterLockUnlockWrite);
|
REG_FUNC(0x2A5741F5, sceUltReaderWriterLockUnlockWrite);
|
||||||
//REG_FUNC(0xB1FEB79B, sceUltReaderWriterLockDestroy);
|
REG_FUNC(0xB1FEB79B, sceUltReaderWriterLockDestroy);
|
||||||
//REG_FUNC(0x8E31B9FE, _sceUltSemaphoreOptParamInitialize);
|
REG_FUNC(0x8E31B9FE, _sceUltSemaphoreOptParamInitialize);
|
||||||
//REG_FUNC(0xDD59562C, _sceUltSemaphoreCreate);
|
REG_FUNC(0xDD59562C, _sceUltSemaphoreCreate);
|
||||||
//REG_FUNC(0xF220D3AE, sceUltSemaphoreAcquire);
|
REG_FUNC(0xF220D3AE, sceUltSemaphoreAcquire);
|
||||||
//REG_FUNC(0xAF15606D, sceUltSemaphoreTryAcquire);
|
REG_FUNC(0xAF15606D, sceUltSemaphoreTryAcquire);
|
||||||
//REG_FUNC(0x65376E2D, sceUltSemaphoreRelease);
|
REG_FUNC(0x65376E2D, sceUltSemaphoreRelease);
|
||||||
//REG_FUNC(0x8EC57420, sceUltSemaphoreDestroy);
|
REG_FUNC(0x8EC57420, sceUltSemaphoreDestroy);
|
||||||
//REG_FUNC(0x8486DDE6, _sceUltUlthreadRuntimeOptParamInitialize);
|
REG_FUNC(0x8486DDE6, _sceUltUlthreadRuntimeOptParamInitialize);
|
||||||
//REG_FUNC(0x5435C586, sceUltUlthreadRuntimeGetWorkAreaSize);
|
REG_FUNC(0x5435C586, sceUltUlthreadRuntimeGetWorkAreaSize);
|
||||||
//REG_FUNC(0x86DDA3AE, _sceUltUlthreadRuntimeCreate);
|
REG_FUNC(0x86DDA3AE, _sceUltUlthreadRuntimeCreate);
|
||||||
//REG_FUNC(0x4E9A745C, sceUltUlthreadRuntimeDestroy);
|
REG_FUNC(0x4E9A745C, sceUltUlthreadRuntimeDestroy);
|
||||||
//REG_FUNC(0x7F373376, _sceUltUlthreadOptParamInitialize);
|
REG_FUNC(0x7F373376, _sceUltUlthreadOptParamInitialize);
|
||||||
//REG_FUNC(0xB1290375, _sceUltUlthreadCreate);
|
REG_FUNC(0xB1290375, _sceUltUlthreadCreate);
|
||||||
//REG_FUNC(0xCAD57BAD, sceUltUlthreadYield);
|
REG_FUNC(0xCAD57BAD, sceUltUlthreadYield);
|
||||||
//REG_FUNC(0x1E401DF8, sceUltUlthreadExit);
|
REG_FUNC(0x1E401DF8, sceUltUlthreadExit);
|
||||||
//REG_FUNC(0x63483381, sceUltUlthreadJoin);
|
REG_FUNC(0x63483381, sceUltUlthreadJoin);
|
||||||
//REG_FUNC(0xB4CF88AC, sceUltUlthreadTryJoin);
|
REG_FUNC(0xB4CF88AC, sceUltUlthreadTryJoin);
|
||||||
//REG_FUNC(0xA798C5D7, sceUltUlthreadGetSelf);
|
REG_FUNC(0xA798C5D7, sceUltUlthreadGetSelf);
|
||||||
});
|
});
|
||||||
|
|
|
@ -340,6 +340,7 @@
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceIme.h" />
|
<ClInclude Include="Emu\ARMv7\Modules\sceIme.h" />
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceLibKernel.h" />
|
<ClInclude Include="Emu\ARMv7\Modules\sceLibKernel.h" />
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceNet.h" />
|
<ClInclude Include="Emu\ARMv7\Modules\sceNet.h" />
|
||||||
|
<ClInclude Include="Emu\ARMv7\Modules\sceNpCommon.h" />
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceSsl.h" />
|
<ClInclude Include="Emu\ARMv7\Modules\sceSsl.h" />
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceTouch.h" />
|
<ClInclude Include="Emu\ARMv7\Modules\sceTouch.h" />
|
||||||
<ClInclude Include="Emu\ARMv7\PSVFuncList.h" />
|
<ClInclude Include="Emu\ARMv7\PSVFuncList.h" />
|
||||||
|
|
|
@ -1501,5 +1501,8 @@
|
||||||
<ClInclude Include="Emu\ARMv7\Modules\sceTouch.h">
|
<ClInclude Include="Emu\ARMv7\Modules\sceTouch.h">
|
||||||
<Filter>Emu\CPU\ARMv7\Modules</Filter>
|
<Filter>Emu\CPU\ARMv7\Modules</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Emu\ARMv7\Modules\sceNpCommon.h">
|
||||||
|
<Filter>Emu\CPU\ARMv7\Modules</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Loading…
Add table
Add a link
Reference in a new issue