mirror of https://github.com/PrimeDecomp/prime.git
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
|
#ifndef _CSCRIPTSTREAMEDAUDIO
|
||
|
#define _CSCRIPTSTREAMEDAUDIO
|
||
|
|
||
|
#include "MetroidPrime/CEntity.hpp"
|
||
|
|
||
|
class CScriptStreamedMusic : public CEntity {
|
||
|
public:
|
||
|
CScriptStreamedMusic(TUniqueId id, const CEntityInfo& info, const rstl::string& name, bool active,
|
||
|
const rstl::string& fileName, bool noStopOnDeactivate, float fadeIn,
|
||
|
float fadeOut, uint volume, bool loop, bool music);
|
||
|
~CScriptStreamedMusic() {}
|
||
|
|
||
|
void Stop(CStateManager& mgr);
|
||
|
void Play(CStateManager& mgr);
|
||
|
void Accept(IVisitor& visitor) override;
|
||
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId objId, CStateManager& stateMgr) override;
|
||
|
|
||
|
private:
|
||
|
rstl::string x34_fileName;
|
||
|
bool x44_noStopOnDeactivate;
|
||
|
bool x45_fileIsDsp; // As opposed to .adp for DTK streaming
|
||
|
bool x46_loop;
|
||
|
bool x47_music;
|
||
|
float x48_fadeIn;
|
||
|
float x4c_fadeOut;
|
||
|
uint x50_volume;
|
||
|
|
||
|
static bool IsDSPFile(const rstl::string& fileName);
|
||
|
static int IsOneShot(bool);
|
||
|
void StopStream(CStateManager& mgr);
|
||
|
void StartStream(CStateManager& mgr);
|
||
|
void TweakOverride(CStateManager& mgr);
|
||
|
};
|
||
|
|
||
|
#endif // _CSCRIPTSTREAMEDAUDIO
|