Add CScriptStreamedAudio

Former-commit-id: 2f5676d2e0
This commit is contained in:
Henrique Gemignani Passos Lima
2022-12-22 11:19:00 -03:00
parent fa49ecfc17
commit c7d9ae4880
11 changed files with 208 additions and 32 deletions

View File

@@ -0,0 +1,35 @@
#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