summaryrefslogtreecommitdiff
path: root/include/d/snd/d_snd_source_npc_head.h
blob: b033af2d1658a7360966b73e2b2238f05f4ae928 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef D_SND_SOURCE_NPC_HEAD_H
#define D_SND_SOURCE_NPC_HEAD_H

#include "common.h"
#include "d/snd/d_snd_source.h"

class dSndSourceNpcHead_c : public dSoundSource_c {
public:
    dSndSourceNpcHead_c(s32 sourceType, dAcBase_c *ac, const char *name, dSndSourceGroup_c *pOwnerGroup);

    void setMainName(const char *name) {
        mpMainName = name;
    }

    /* 0x0D4 */ virtual bool startVoiceLine(u32 id) override;
    /* 0x0DC */ virtual bool vt_0xDC(u32 id) override;

    /* 0x180 */ virtual void setOrigName(const char *arg) override;

    // id can be a WZSound ID or an offset from LABEL_NV_START
    /* 0x1EC */ virtual bool npcSpeak(u32 id);

    /* 0x1CC */ virtual void postSetupSound(u32 playingId, u32 requestedId, dSndSeSound_c *seSound) override;

private:
    /* 0x15C */ UNKWORD field_0x15C;
    /* 0x160 */ const char *mpMainName;
};

#endif