Files
ss/include/d/snd/d_snd_source_if.h
T
elijah-thomas774 3f69062dff fix merge
2025-06-08 14:09:37 -04:00

88 lines
2.7 KiB
C++

#ifndef D_SOUND_SOURCE_IF_H
#define D_SOUND_SOURCE_IF_H
#include "common.h"
#include "nw4r/math/math_types.h"
class dAcBase_c;
/** An abstract interface for sound relating to a particular actor. */
class dSoundSourceIf_c {
public:
virtual ~dSoundSourceIf_c() {}
#define SOUNDSOURCE_VIRTUAL(offset) virtual void vt_##offset() = 0;
SOUNDSOURCE_VIRTUAL(0x0C);
virtual s32 getCategory() const = 0; // 0x10
SOUNDSOURCE_VIRTUAL(0x14);
virtual s32 getActorType() const = 0;
SOUNDSOURCE_VIRTUAL(0x1C);
SOUNDSOURCE_VIRTUAL(0x20);
SOUNDSOURCE_VIRTUAL(0x24);
virtual const nw4r::math::VEC3 &getListenerPosition() const = 0; // 0x28
SOUNDSOURCE_VIRTUAL(0x2C);
SOUNDSOURCE_VIRTUAL(0x30);
SOUNDSOURCE_VIRTUAL(0x34);
SOUNDSOURCE_VIRTUAL(0x38);
SOUNDSOURCE_VIRTUAL(0x3C);
virtual void vt_0x40(s32) = 0;
SOUNDSOURCE_VIRTUAL(0x44);
virtual bool hasPlayingSounds() const = 0; // 0x48
virtual bool isPlayingSound(u32 soundId) = 0; // 0x4C
virtual bool isPlayingSound(const char *soundId) = 0; // 0x50
SOUNDSOURCE_VIRTUAL(0x54);
SOUNDSOURCE_VIRTUAL(0x58);
SOUNDSOURCE_VIRTUAL(0x5C);
SOUNDSOURCE_VIRTUAL(0x60);
SOUNDSOURCE_VIRTUAL(0x64);
SOUNDSOURCE_VIRTUAL(0x68);
SOUNDSOURCE_VIRTUAL(0x6C);
SOUNDSOURCE_VIRTUAL(0x70);
SOUNDSOURCE_VIRTUAL(0x74);
SOUNDSOURCE_VIRTUAL(0x78);
SOUNDSOURCE_VIRTUAL(0x7C);
SOUNDSOURCE_VIRTUAL(0x80);
SOUNDSOURCE_VIRTUAL(0x84);
SOUNDSOURCE_VIRTUAL(0x88);
SOUNDSOURCE_VIRTUAL(0x8C);
SOUNDSOURCE_VIRTUAL(0x90);
SOUNDSOURCE_VIRTUAL(0x94);
SOUNDSOURCE_VIRTUAL(0x98);
SOUNDSOURCE_VIRTUAL(0x9C);
SOUNDSOURCE_VIRTUAL(0xA0);
SOUNDSOURCE_VIRTUAL(0xA4);
SOUNDSOURCE_VIRTUAL(0xA8);
SOUNDSOURCE_VIRTUAL(0xAC);
SOUNDSOURCE_VIRTUAL(0xB0);
SOUNDSOURCE_VIRTUAL(0xB4);
SOUNDSOURCE_VIRTUAL(0xB8);
SOUNDSOURCE_VIRTUAL(0xBC);
SOUNDSOURCE_VIRTUAL(0xC0);
SOUNDSOURCE_VIRTUAL(0xC4);
SOUNDSOURCE_VIRTUAL(0xC8);
SOUNDSOURCE_VIRTUAL(0xCC);
SOUNDSOURCE_VIRTUAL(0xD0);
SOUNDSOURCE_VIRTUAL(0xD4);
SOUNDSOURCE_VIRTUAL(0xD8);
SOUNDSOURCE_VIRTUAL(0xDC);
SOUNDSOURCE_VIRTUAL(0xE0);
SOUNDSOURCE_VIRTUAL(0xE4);
SOUNDSOURCE_VIRTUAL(0xE8);
SOUNDSOURCE_VIRTUAL(0xEC);
SOUNDSOURCE_VIRTUAL(0xF0);
SOUNDSOURCE_VIRTUAL(0xF4);
SOUNDSOURCE_VIRTUAL(0xF8);
SOUNDSOURCE_VIRTUAL(0xFC);
virtual bool isReadyMaybe() = 0; // 0x100
virtual void load(void *data, const char *name) = 0; // 0x104
virtual void setFrame(f32 frame) = 0; // 0x108
virtual void setRate(f32 frame) = 0; // 0x10C
SOUNDSOURCE_VIRTUAL(0x110);
SOUNDSOURCE_VIRTUAL(0x114);
SOUNDSOURCE_VIRTUAL(0x118);
};
#endif