mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-30 04:24:17 +00:00
* Add script to verify formatting * Add newline to end of files * Add `#pragma once` to top of headers * Add own header to includes at top of source files * Remove useless namespace qualifiers * Sort visibility modifiers correctly * Format `#include`s in three blocks * Remove `;` after namespaces * Add for custom style checking to `lint`-GitHub-Action * Format: No "// 0x" offset comments * Remove macros from padding
73 lines
2.2 KiB
C++
73 lines
2.2 KiB
C++
#pragma once
|
|
|
|
#include <container/seadPtrArray.h>
|
|
|
|
#include "Library/Area/IUseAreaObj.h"
|
|
#include "Library/Audio/IAudioSystemPause.h"
|
|
#include "Library/HostIO/HioNode.h"
|
|
|
|
namespace aal {
|
|
class AudioFrameProcessMgr;
|
|
class IAudioFrameProcess;
|
|
} // namespace aal
|
|
|
|
namespace al {
|
|
class SeDirector;
|
|
class BgmDirector;
|
|
class AudioMic;
|
|
class AudioEventController;
|
|
class AudioRequest;
|
|
class AudioRequestKeeperSyncedBgm;
|
|
class AudioSystemInfo;
|
|
class AreaObjDirector;
|
|
class AudioDuckingDirector;
|
|
class AudioEffectController;
|
|
class AudioDirectorInitInfo;
|
|
class PlayerHolder;
|
|
|
|
class AudioDirector : public IUseAreaObj, public HioNode, public IAudioSystemPause {
|
|
public:
|
|
class PauseSystemEntry {
|
|
const char* mName;
|
|
bool _8;
|
|
bool _9;
|
|
};
|
|
|
|
AudioDirector();
|
|
void init(const AudioDirectorInitInfo& info);
|
|
void init3D(const AudioDirectorInitInfo& info);
|
|
void initAfterInitPlacement();
|
|
void initMic(AudioMic* mic);
|
|
void setDependentModule(AudioDirector* director);
|
|
void updatePre();
|
|
void updatePost();
|
|
void startFinalizeUnsafeModuleInParallelThread();
|
|
void updateFinalizeUnsafeModuleInParallelThread();
|
|
bool isFinalizedUnsafeModuleInParallelThread();
|
|
void finalize();
|
|
bool isSystemPauseNow() const;
|
|
void setPlayerHolder(const PlayerHolder* player_holder);
|
|
void addAudiioFrameProccess(aal::IAudioFrameProcess* process);
|
|
void removeAudiioFrameProccess(aal::IAudioFrameProcess* process);
|
|
void* getAudioMaximizer() const; // unknown return type
|
|
bool isPpausedSystem(const char* name) const;
|
|
|
|
void pauseSystem(bool, const char*, bool, f32, bool, bool, bool) override;
|
|
AreaObjDirector* getAreaObjDirector() const override;
|
|
|
|
private:
|
|
SeDirector* mSeDirector;
|
|
BgmDirector* mBgmDirector;
|
|
AudioMic* mAudioMic;
|
|
AudioEventController* mAudioEventController;
|
|
AudioRequestKeeperSyncedBgm* mAudioRequestKeeperSyncedBgm;
|
|
const AudioSystemInfo* mAudioSystemInfo;
|
|
AreaObjDirector* mAreaObjDirector;
|
|
AudioDuckingDirector* mAudioDuckingDirector;
|
|
sead::PtrArray<PauseSystemEntry> mPauseSystemEntries;
|
|
aal::AudioFrameProcessMgr* mAudioFrameProcessMgr;
|
|
AudioEffectController* mAudioEffectController;
|
|
};
|
|
|
|
} // namespace al
|