SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
SpkSpeakerCtrl.hpp
1#pragma once
2
3#include <revolution.h>
4#include <revolution/wenc.h>
5#include "Game/AudioLib/AudSpeakerWrap.hpp"
6#include "Game/Speaker/SpkMixingBuffer.hpp"
7#include "Game/Speaker/SpkSound.hpp"
8
9struct SpeakerInfo {
10 u8 _0;
11 u8 _1;
12 WENCInfo _2;
13 u8 _22;
14 u8 _23;
15 u32 _24;
16 u32 _28;
17 s32 _2C;
18 s32 _30;
19 u32 _34;
20 u32 _38;
21 u32 _3C;
22};
23
25public:
26 static void setMixingBuffer(SpkMixingBuffer *);
27 static void setup();
28 static void connect(s32);
29 static void disconnect(s32);
30 static void setSpeakerOn(s32);
31 static void setSpeakerOnCallback(s32, s32);
32 static void setSpeakerPlay(s32);
33 static void startPlayCallback(s32, s32);
34 static void setSpeakerOff(s32);
35 static void retryConnection(s32);
36 static void reconnect(s32);
37 static void framework();
38 static void reconnectProcess(s32);
39 static void initReconnect(s32);
40 static void continuousUsingProcess(s32);
41 static void updateSpeaker(OSAlarm *, OSContext *);
42 static bool isEnable(s32);
43 static void extensionProcess(s32, s32);
44 static f32 getDeviceVolume(s32);
45
46 static void initInfoDefaults(s32 idx) {
47
48 }
49
50 static inline SpeakerInfo& getSpeakerInfo(s32 idx) {
51 return sSpeakerInfo[idx];
52 }
53
54 static SpeakerInfo sSpeakerInfo[4];
55
56 static SpkMixingBuffer* sMixingBuffer;
57
58 static SpkSoundHandle sAdjustSoundHandle[4];
59};