1#pragma once
2
3#include <basis/seadTypes.h>
4#include <container/seadPtrArray.h>
5
6namespace al {
7template <typename T>
8class AudioInfoListWithParts;
9struct AudioSystemInfo;
10class SeEmitterInfo;
11class SeInterpolateTypeId;
12class SePlayInfo;
13class SeResourceSpecificInfo;
14class SeResourceRtpcInfo;
15class SeRtpcSetting;
16class SeUserInfo;
17} // namespace al
18
19namespace alSeDbFunction {
20s32 calcIsOneTimeInUserInfo(const al::SeUserInfo*);
21al::SeInterpolateTypeId convertInterpolateTypeToId(const char*);
22const char* convertInterpolateTypeIdToName(al::SeInterpolateTypeId);
23void applyResMainInfoSettingInPlayInfo(const al::SePlayInfo*, const char*);
24f32 calcRtpcParam(const al::SeRtpcSetting*, f32);
25f32 calcRtpcVolumeMod(const al::SeResourceRtpcInfo*, f32, bool);
26al::SeEmitterInfo* createDefaultEmitterInfo(const char*);
27sead::PtrArray<al::SeEmitterInfo>* createDefaultEmitterInfoList();
28bool setPartsUserList(const al::SeUserInfo*, const al::AudioInfoListWithParts<al::SeUserInfo>*);
29void setDefaultEmitter(const al::SeUserInfo*, bool, bool);
30void setResourceSpecInfoToResourceInfo(
31 const al::SeUserInfo*, const al::AudioInfoListWithParts<al::SeResourceSpecificInfo>*, bool);
32const char* tryFindSceneSeUserName(const al::AudioSystemInfo*, const char*, s32);
33s32 findRtpcInputTypeByName(const char*);
34s32 findSeFluctuationTypeByName(const char*);
35const char* createNameAreaAndCopy(const char*);
36} // namespace alSeDbFunction
37