1#pragma once
2
3#include <math/seadMatrix.h>
4#include <math/seadVector.h>
5
6namespace al {
7struct AudioSystemInfo;
8class SeDirector;
9class MeInfo;
10class SeadAudioPlayer;
11class SePlayParamList;
12class SeRequestParam;
13class IAudioResourceLoader;
14class ModelKeeper;
15class CameraDirector;
16
17class SeKeeper {
18public:
19 static void create(const AudioSystemInfo*, SeDirector*, const char*, const sead::Vector3f*,
20 const sead::Matrix34f*, const ModelKeeper*, CameraDirector*);
21 SeKeeper(const AudioSystemInfo*, SeDirector*, const char*, const sead::Vector3f*,
22 const sead::Matrix34f*, const ModelKeeper*, CameraDirector*);
23
24 void tryLoadAddonSoundArchive(SeadAudioPlayer*);
25 void requestPlaySe(const char*, f32, const char*, const SePlayParamList*, const MeInfo*, bool,
26 const char*, const sead::Vector3f*);
27 void tryRequestPlaySe(const char*, f32, const char*, const SePlayParamList*, const MeInfo*,
28 bool, const char*, const sead::Vector3f*);
29 void requestPlaySeIdLocal(SeRequestParam*, const char*);
30 void requestPlayLoopSeSequence(const char*, const MeInfo*, s32);
31 void stopSe(const char*, s32, bool, const char*);
32 void tryFindPlayInfo(const char*) const;
33 void setLifeTimeForHoldCall(const char*, u32, const char*);
34 void stopAll(s32, const char*);
35 void separatePlayingSePosFromEmitter();
36 void tryGetCurrentStreamSamplePos(const char*, const char*) const;
37 void isPlaying(const char*);
38 void checkIsPlayingSe(const char*, const char*);
39 void validate();
40 void invalidate();
41 void startClipped();
42 void endClipped();
43 void appear();
44 void kill();
45 void resetPosition();
46 void setIsInWater(bool);
47 void getWaterState();
48 void setIsMaterialWet(bool);
49 void setIsMaterialPuddle(bool);
50 void tryUpdateMaterial(const char*);
51 void setSeSourceVolume(f32);
52 void setSyncParamPtr(const f32*, const char*);
53 void setSyncParamPtrInt(const s32*, const char*);
54 void setEmitterPoseMtxPtr(const sead::Matrix34f*, const char*);
55 void setEmitterPosePosPtr(const sead::Vector3f*, const char*);
56 void loadSe(IAudioResourceLoader*);
57};
58} // namespace al
59