mirror of
https://github.com/zeldaret/ss
synced 2026-05-29 08:42:57 -04:00
88 lines
2.7 KiB
C++
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
|