mirror of
https://github.com/zeldaret/ss
synced 2026-06-22 00:26:29 -04:00
51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
#ifndef EGG_AUDIO_REMOTE_SPEAKER_MANAGER_H
|
|
#define EGG_AUDIO_REMOTE_SPEAKER_MANAGER_H
|
|
|
|
#include "common.h"
|
|
|
|
#include "rvl/WPAD.h" // IWYU pragma: export
|
|
|
|
namespace EGG {
|
|
|
|
// Size 0xC
|
|
struct AudioRmtSpeakerTask {
|
|
bool field_0x00;
|
|
bool field_0x01;
|
|
s32 mChannel;
|
|
WPADCallback *mpCallback;
|
|
};
|
|
|
|
class AudioRmtSpeakerMgr {
|
|
public:
|
|
static void calc();
|
|
|
|
static void setup(s32 i, WPADCallback *pCallback);
|
|
static void shutdown(s32 i, WPADCallback *pCallback);
|
|
|
|
static void connectAllByForce();
|
|
static void disconnectAllByForce();
|
|
|
|
static u8 getWpadVolume();
|
|
|
|
private:
|
|
static void setupCallback(s32, s32);
|
|
static void shutdownCallback(s32, s32);
|
|
static void add_task(s32 i, WPADCallback *pCallback, bool);
|
|
static void doSetup(s32 i, WPADCallback *pCallback);
|
|
static void doShutdown(s32 i, WPADCallback *pCallback);
|
|
static void setupCallbackDirect(s32, s32);
|
|
static void shutdownCallbackDirect(s32, s32);
|
|
static bool sAudioRmtSpeakerConnectCanncelSw;
|
|
static u32 mTaskFinishCount;
|
|
static u32 mTaskRequestCount;
|
|
static bool sTask;
|
|
|
|
static u8 sAudioRmtSpeakerWpadVolume;
|
|
|
|
static AudioRmtSpeakerTask sConnectTask[0x14];
|
|
};
|
|
|
|
} // namespace EGG
|
|
|
|
#endif
|