[BOSS] Stub ReceiveProperty

This commit is contained in:
wheremyfoodat 2023-03-12 23:20:24 +02:00
parent 857db77d06
commit 38fde0f608
2 changed files with 14 additions and 1 deletions

View file

@ -13,6 +13,7 @@ class BOSSService {
void initializeSession(u32 messagePointer);
void getOptoutFlag(u32 messagePointer);
void getTaskIdList(u32 messagePointer);
void receiveProperty(u32 messagePointer);
s8 optoutFlag;
public:

View file

@ -4,7 +4,8 @@ namespace BOSSCommands {
enum : u32 {
InitializeSession = 0x00010082,
GetOptoutFlag = 0x000A0000,
GetTaskIdList = 0x000E0000
GetTaskIdList = 0x000E0000,
ReceiveProperty = 0x00160082
};
}
@ -24,6 +25,7 @@ void BOSSService::handleSyncRequest(u32 messagePointer) {
case BOSSCommands::GetOptoutFlag: getOptoutFlag(messagePointer); break;
case BOSSCommands::GetTaskIdList: getTaskIdList(messagePointer); break;
case BOSSCommands::InitializeSession: initializeSession(messagePointer); break;
case BOSSCommands::ReceiveProperty: receiveProperty(messagePointer); break;
default: Helpers::panic("BOSS service requested. Command: %08X\n", command);
}
}
@ -42,4 +44,14 @@ void BOSSService::getOptoutFlag(u32 messagePointer) {
void BOSSService::getTaskIdList(u32 messagePointer) {
log("BOSS::GetTaskIdList (stubbed)\n");
mem.write32(messagePointer + 4, Result::Success);
}
void BOSSService::receiveProperty(u32 messagePointer) {
const u32 id = mem.read32(messagePointer + 4);
const u32 size = mem.read32(messagePointer + 8);
const u32 ptr = mem.read32(messagePointer + 16);
log("BOSS::ReceiveProperty(stubbed) (id = %d, size = %08X, ptr = %08X)\n", id, size, ptr);
mem.write32(messagePointer + 4, Result::Success);
mem.write32(messagePointer + 8, 0); // Read size
}