Merge branch 'master' into mii_selector

This commit is contained in:
wheremyfoodat 2023-08-24 15:45:38 +03:00
commit 52304763bb
10 changed files with 141 additions and 26 deletions

View file

@ -1,4 +1,6 @@
#pragma once
#include <optional>
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
@ -15,10 +17,14 @@ class ACService {
void closeAsync(u32 messagePointer);
void createDefaultConfig(u32 messagePointer);
void getLastErrorCode(u32 messagePointer);
void isConnected(u32 messagePointer);
void registerDisconnectEvent(u32 messagePointer);
void setClientVersion(u32 messagePointer);
public:
bool connected = false;
std::optional<Handle> disconnectEvent = std::nullopt;
public:
ACService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer);

View file

@ -26,6 +26,7 @@ class FRDService {
void getFriendAttributeFlags(u32 messagePointer);
void getFriendKeyList(u32 messagePointer);
void getFriendPresence(u32 messagePointer);
void getFriendProfile(u32 messagePointer);
void getMyFriendKey(u32 messagePointer);
void getMyMii(u32 messagePointer);
void getMyPresence(u32 messagePointer);
@ -37,6 +38,15 @@ class FRDService {
void setNotificationMask(u32 messagePointer);
void updateGameModeDescription(u32 messagePointer);
struct Profile {
u8 region;
u8 country;
u8 area;
u8 language;
u32 unknown;
};
static_assert(sizeof(Profile) == 8);
public:
FRDService(Memory& mem) : mem(mem) {}
void reset();

View file

@ -5,13 +5,19 @@
#include "memory.hpp"
#include "result/result.hpp"
// Circular dependencies, yay
class Kernel;
class MICService {
Handle handle = KernelHandles::MIC;
Memory& mem;
Kernel& kernel;
MAKE_LOG_FUNCTION(log, micLogger)
// Service commands
void getEventHandle(u32 messagePointer);
void getGain(u32 messagePointer);
void isSampling(u32 messagePointer);
void mapSharedMem(u32 messagePointer);
void setClamp(u32 messagePointer);
void setGain(u32 messagePointer);
@ -19,15 +25,18 @@ class MICService {
void setPower(u32 messagePointer);
void startSampling(u32 messagePointer);
void stopSampling(u32 messagePointer);
void unmapSharedMem(u32 messagePointer);
void theCaptainToadFunction(u32 messagePointer);
u8 gain = 0; // How loud our microphone input signal is
bool micEnabled = false;
bool shouldClamp = false;
bool isSampling = false;
bool currentlySampling = false;
std::optional<Handle> eventHandle;
public:
MICService(Memory& mem) : mem(mem) {}
MICService(Memory& mem, Kernel& kernel) : mem(mem), kernel(kernel) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};