| 1 | #pragma once |
| 2 | |
| 3 | #include <math/seadMatrix.h> |
| 4 | #include <math/seadVector.h> |
| 5 | |
| 6 | namespace al { |
| 7 | struct AudioSystemInfo; |
| 8 | class SeDirector; |
| 9 | class MeInfo; |
| 10 | class SeadAudioPlayer; |
| 11 | class SePlayParamList; |
| 12 | class SeRequestParam; |
| 13 | class IAudioResourceLoader; |
| 14 | class ModelKeeper; |
| 15 | class CameraDirector; |
| 16 | |
| 17 | class SeKeeper { |
| 18 | public: |
| 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 | |