mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
64 lines
2.2 KiB
C++
64 lines
2.2 KiB
C++
#pragma once
|
|
|
|
#include <math/seadMatrix.h>
|
|
#include <math/seadVector.h>
|
|
|
|
namespace al {
|
|
struct AudioSystemInfo;
|
|
class SeDirector;
|
|
class MeInfo;
|
|
class SeadAudioPlayer;
|
|
class SePlayParamList;
|
|
class SeRequestParam;
|
|
class IAudioResourceLoader;
|
|
class ModelKeeper;
|
|
class CameraDirector;
|
|
|
|
class SeKeeper {
|
|
public:
|
|
static SeKeeper* create(const AudioSystemInfo*, SeDirector*, const char*, const sead::Vector3f*,
|
|
const sead::Matrix34f*, const ModelKeeper*, CameraDirector*);
|
|
SeKeeper(const AudioSystemInfo*, SeDirector*, const char*, const sead::Vector3f*,
|
|
const sead::Matrix34f*, const ModelKeeper*, CameraDirector*);
|
|
|
|
void tryLoadAddonSoundArchive(SeadAudioPlayer*);
|
|
void requestPlaySe(const char*, f32, const char*, const SePlayParamList*, const MeInfo*, bool,
|
|
const char*, const sead::Vector3f*);
|
|
void tryRequestPlaySe(const char*, f32, const char*, const SePlayParamList*, const MeInfo*,
|
|
bool, const char*, const sead::Vector3f*);
|
|
void requestPlaySeIdLocal(SeRequestParam*, const char*);
|
|
void requestPlayLoopSeSequence(const char*, const MeInfo*, s32);
|
|
void stopSe(const char*, s32, bool, const char*);
|
|
void tryFindPlayInfo(const char*) const;
|
|
void setLifeTimeForHoldCall(const char*, u32, const char*);
|
|
void stopAll(s32, const char*);
|
|
void separatePlayingSePosFromEmitter();
|
|
void tryGetCurrentStreamSamplePos(const char*, const char*) const;
|
|
bool isPlaying(const char*);
|
|
void checkIsPlayingSe(const char*, const char*);
|
|
void validate();
|
|
void invalidate();
|
|
void startClipped();
|
|
void endClipped();
|
|
void appear();
|
|
void kill();
|
|
void resetPosition();
|
|
void setIsInWater(bool);
|
|
void getWaterState();
|
|
void setIsMaterialWet(bool);
|
|
void setIsMaterialPuddle(bool);
|
|
void tryUpdateMaterial(const char*);
|
|
void setSeSourceVolume(f32);
|
|
void setSyncParamPtr(const f32*, const char*);
|
|
void setSyncParamPtrInt(const s32*, const char*);
|
|
void setEmitterPoseMtxPtr(const sead::Matrix34f*, const char*);
|
|
void setEmitterPosePosPtr(const sead::Vector3f*, const char*);
|
|
void loadSe(IAudioResourceLoader*);
|
|
|
|
private:
|
|
void* _0[0x78 / 8];
|
|
};
|
|
|
|
static_assert(sizeof(SeKeeper) == 0x78);
|
|
} // namespace al
|