summaryrefslogtreecommitdiff
path: root/src/port/resource/type/AudioSequence.h
blob: a8ead79431d9a8ec6f2beab9e2f7daa4598c1912 (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
31
32
#pragma once

#ifdef __cplusplus
#include <cstdint>
#endif

struct AudioSequenceData {
    uint32_t bankCount;
    uint8_t* banks;
    uint8_t* data;
    uint8_t id;
};

#ifdef __cplusplus
#include "ship/resource/Resource.h"
namespace SM64 {

class AudioSequence : public Ship::Resource<AudioSequenceData> {
  public:
    using Resource::Resource;

    AudioSequence() : Resource(std::shared_ptr<Ship::ResourceInitData>()) {}

    AudioSequenceData* GetPointer();
    size_t GetPointerSize();

    AudioSequenceData mData;
    std::vector<uint8_t> banks;
    std::vector<uint8_t> sampleData;
};
}
#endif